[英]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.