1

私はバッチファイルをプログラムしていますが、for-loops必要なものは初めてです。

構文がどのように機能するかはわかりましたが、ループが本来の動作をしない理由がわかりません。

このコードは私のファイルからの抜粋です:

@echo off & setlocal enabledelayedexpansion
set /p file=: 
set /a numberofgoals=0
for /f "delims=" %%a in ("%file%.txt") do set /a "numberofgoals+=1"

echo %numberofgoals%
pause > nul

すべてを正しく行った場合、出力は指定されたテキストファイルの長さである必要があり、以前はうまくいきましたが、どうやらコード内の何かを変更したため、よくわからないため%numberofgoals%、どのように出力しても、毎回正確に 1 になります。私のテキストファイルは長いです。

私の質問は次のとおりです。何が間違っていて、なぜ出力が 1 になったのですか? 私はそこで何かを変えたことさえ覚えていません...

編集:提案どおりに変更"delims=""usebackq delims="ましたが、現在は機能しています。ありがとうございます。

4

1 に答える 1