簡體   English   中英

批處理如何讀取文本文件

[英]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設置為最后一行。

如果需要處理整個文件,則有幾種選擇:

  1. 如果只需要為每一行做某事,則只需使用一個塊而不是set "Var=%%x"

     for /f "delims=" %%x in (test.txt) do ( rem Do something with %%x ) 
  2. 如果您需要在內存中逐行顯示完整的文件,請使用計數器並模擬包含許多變量的數組:

     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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM