任何人都可以直接解释以下代码如何工作.我真的迷路了我一直在尝试学习如何使用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
set line=%%f
然后将行变量设置为刚刚读取的行
call :procesToken
调用一个执行某行的子例程
:processToken
是上述子程序的开始.
for /f "tokens=1* delims=/" %%a in ("%line%") do
然后将在/分割行,但在第一个令牌之后停止标记化.
echo Got one token: %%a
将输出第一个令牌和
set line=%%b
将线变量设置为该行的其余部分.
if not "%line%" == "" goto :processToken
如果行尚未为空(即处理所有令牌),则返回到开始,继续执行该行的其余部分.