Чтение ТОЛЬКО х строк из текстового файла с пакетным файлом Windows - PullRequest
1 голос
/ 27 сентября 2010

Как я могу читать только X строк из файла .txt?

Файл содержит все имена каталогов, я хотел бы прочитать только x строк.X может быть числом, которое может варьироваться от 1 до 99

Ответы [ 2 ]

2 голосов
/ 27 сентября 2010

Вам нужно будет изменить это в соответствии с вашими потребностями, но приведенный ниже скрипт будет циклически проходить по файлу directoryies.txt и выводить содержимое строки до тех пор, пока вы не достигнете максимального числа строк, установленного в 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
0 голосов
/ 28 сентября 2010

вы можете использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...