Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @REM - ReadAFile.BAT (17 Jul 2024 // 17 Jul 2024): Innovative Way to Read a File and Save Each Line as a Variable
- @ECHO OFF
- ::: This script will read an input file with up to 1000 lines (#MAXLINES=999)
- ::: and save each line as a variable (#LINE000000 to #LINE000999) as necessary.
- ::: How high you can go will depend on system memory, and possibly some other
- ::: heap or stack resource. The largest file I tested was one with 823 lines.
- :::
- ::: You would call this from the command-line as:
- ::: ReadAFile.BAT "x:\Some\Folder\InputFile.TXT
- ::: -----------------------------------------------
- :::
- ::: Full script can be found here ..... https://pastebin.com/4am7S36Y
- :::
- ::: Tested on Windows 10 x64 and Windows 11
- :::
- :Variables
- SETLOCAL ENABLEDELAYEDEXPANSION
- SET #MAXLINES=999
- SET #FILENAME="%~1"& IF "%~1"=="" SET #FILENAME="x:\Some\Folder\SomeFile.TXT"
- :Check4File -- Check for the existence of the input file
- IF NOT EXIST %#FILENAME% (
- ECHO FILE NOT FOUND: %#FILENAME%
- GOTO :ExitBatch
- )
- :ReadFile -- Read a file up to maxlines+1 (0 - #MAXLINES)
- < %#FILENAME% (
- FOR /L %%C IN (0,1,%#MAXLINES%) DO (
- SET #COUNT=000000%%~C
- SET #COUNT=!#COUNT:~-6!
- SET /P #LINE!#COUNT!=
- )
- )
- :FinalReport -- Show all the variables with the lines that were read
- SET #LINE
- :ExitBatch
- TIMEOUT 60
- ENDLOCAL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement