Read ONLY x lines from a txt file with a windows batch file
How can I read only X lines from a a.txt file?
开发者_开发技巧The file contains all the names of a directory, I would like to read only x lines. X can be a number that can varies from 1 to 99
You'll need to modify this based on your needs, but the script below will loop through the file 'directories.txt', and ECHO the contents of the line until you hit the maximum number of lines set in maxlines
.
@ECHO OFF
setlocal enabledelayedexpansion
SET /A maxlines=1
SET /A linecount=0
FOR /F %%A IN (directories.txt) DO (
IF !linecount! GEQ %maxlines% GOTO ExitLoop
ECHO %%A
SET /A linecount+=1
)
:ExitLoop
PAUSE
you can use vbscript. Here's an example
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments
strNum = objArgs(0)
strFile=objArgs(1)
Set objFile = objFS.OpenTextFile(strFile)
Do Until objFile.AtEndOfLine
If CInt(objFile.Line) > CInt(strNum) Then
Exit Do
End If
strLine=objFile.ReadLine
WScript.Echo strLine
Loop
save as myscript.vbs and
c:\test> cscript //nologo myscript.vbs 99 file
Or if have the luxury to install tools, you can download sed or gawk for windows . Then on the command line
sed.exe "99q" file
gawk.exe "NR>2{exit}1" file
精彩评论