私はバッチファイルをプログラムしていますが、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="
ましたが、現在は機能しています。ありがとうございます。