我正在从文本文件中读取行。我需要忽略前半部分,在达到某一行之后,将读取的行分配给变量。即使输出显示q已从0递增到1,第二个if语句也永远不会满足。
代码:
set q=0
for /f "tokens=*" %%a in (myfilename) do (
if "%%a" == "# My Trigger Text" (
set /A "q+=1"
set q :: Debug Statement 1
echo %%a
)
if %q% GTR 0 (
set /A "q+=1"
set q :: Debug Statement 2
echo %%a
[Other code will eventually go here; nothing right now]
)
:: set q :: Debug Statement 3
)
pause
调试声明3的输出显示:
ECHO is off.
q=1
# My Trigger Text
Press any key to continue...
如果我取消注释Debug Statement 3,则输出为:
ECHO is off.
q=0
q=0
q=0
q=0
q=0
q=0
q=1
# My Trigger Text
q=1
q=1
q=1
q=1
q=1
q=1
q=1
Press any key to continue...
因此q在第一次触及触发文本时会增加,但是它不会将q评估为大于0以进入函数循环。