誰でも次のコードがどのように機能するかを行ごとに正確に説明してください。本当に迷いました。 FORコマンドの使用方法を学習しようとしましたが、これは理解できません。
@echo off
for /f "tokens=* delims= " %%f in (myfile) do (
set line=%%f
call :processToken
)
goto :eof
:processToken
for /f "tokens=1* delims=/" %%a in ("%line%") do (
echo Got one token: %%a
set line=%%b
)
if not "%line%" == "" goto :processToken
goto :eof
for /f "tokens=* delims= " %%f in (myfile) do
これはファイルを1行ずつ読み取り、先頭のスペースを削除します(ありがとう、jeb)。
set line=%%f
line
変数を、読み取ったばかりの行に設定し、
call :procesToken
行で何かをするサブルーチンを呼び出します
:processToken
上記のサブルーチンの開始です。
for /f "tokens=1* delims=/" %%a in ("%line%") do
その後、/
で行を分割しますが、最初のトークンの後にトークン化を停止します。
echo Got one token: %%a
その最初のトークンを出力し、
set line=%%b
line
変数を残りの行に設定します。
if not "%line%" == "" goto :processToken
line
がまだ空でない(つまり、すべてのトークンが処理されている)場合、最初に戻り、残りの行を継続します。