批次檔FOR命令跳行

批次檔FOR命令跳行

我需要一些關於批次歸檔中的 FOR 指令的幫助。我想要做的是讀取文件“Test.txt”並僅讀取第三行並將其轉換為該批次檔中的可用變數。這是我嘗試過的,但沒有成功。

for /f "skip=2 delims=" %%a in (Test.txt) do (
  set %%a=%LineThree%
)

當我運行該程式時,它顯示“系統找不到文件 Test.txt。非常感謝所有幫助。

答案1

  1. 該錯誤表明您的文件Test.txt不在運行腳本的同一目錄中。
  2. 為了更好地完成從文字檔案中抓取第三行,請嘗試以下操作,它將在任何size 文件,而不是像您的那樣必須運行整個文件(並且您的文件會錯誤地...您實際上正在抓取每隔三行)。

    (對於 (1,1,3) 中的 /l %%a 執行設定 /p LineThree=) < Test.txt

    回顯%LineThre%

正如另一條評論中提到的,您可能想嘗試文件的完整路徑,而不僅僅是文件名。

答案2

您的程式碼的主要問題是缺少引號在 (...)

它應該是:

for /f "skip=2 delims=" %%a in ('Test.txt') do (
  set %%a=%LineThree%
)

如果仍然不行,請嘗試寫入完整路徑Test.txt(正如其他人建議的那樣)

相關內容