开发者

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
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜