[英]Batch how to read a text file
我需要制作一个可以读取文本文件的批处理文件,并且我正在使用Windows 7 Ultimate 32位
我目前正在使用此代码:
@ECHO OFF
for /f "delims=" %%x in (test.txt) do set "Var=%%x"
ECHO %Var%
pause
但这仅读取第一行,而我需要它来读取整个内容。 我需要它来显示全文文件。
尝试这个:
@ECHO OFF
SetLocal EnableDelayedExpansion
for /f "delims=" %%x in ('type test.txt') do (
set "Var=%%x"
ECHO !Var!
)
pause
您需要封闭for
用方括号循环,如果你是里面的执行多个命令for
循环。 除此之外, SetLocal EnableDelayedExpansion
将有助于在执行时而不是在解析时扩展变量 。
希望这可以帮助。
实际上,这应该读取整个文件并将Var
设置为最后一行。
如果需要处理整个文件,则有几种选择:
如果只需要为每一行做某事,则只需使用一个块而不是set "Var=%%x"
:
for /f "delims=" %%x in (test.txt) do ( rem Do something with %%x )
如果您需要在内存中逐行显示完整的文件,请使用计数器并模拟包含许多变量的数组:
setlocal enabledelayedexpansion set cnt=0 for /f "delims=" %%x in (test.txt) do ( set "ine[!cnt!]=%%x" set /a cnt+=1 ) set /a numlines=cnt-1
然后,您可以使用for /l
循环再次访问它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.