用windowsbatch file只读取txt文件中的x行

如何从a.txt文件中只读取X行?

该文件包含一个目录的所有名称,我只想读取x行。 X可以是1到99之间的数字

Solutions Collecting From Web of "用windowsbatch file只读取txt文件中的x行"

你需要根据你的需要来修改它,但是下面的脚本将循环遍历文件“directories.txt”,然后ECHO行的内容,直到达到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 

你可以使用VBScript。 这是一个例子

 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 

保存为myscript.vbs和

 c:\test> cscript //nologo myscript.vbs 99 file 

或者如果有豪华的安装工具,你可以下载sed或gawk的窗口。 然后在命令行上

 sed.exe "99q" file gawk.exe "NR>2{exit}1" file