我写了一批处理程序,其中包含一些代码,用于检查它已经运行了多少次,方法是读取一个文本文件,然后将新的、增加的数字写回到该文本文件中。
@ECHO OFF
for /f "delims=" %%x in (TimesRun.txt) do set Build=%%x
set Build=%Build%+1
@echo Build value : %Build%
echo %Build%>>TimesRun.txt
Pause
这确实可以将文本文件追加,但它会添加"1+1"。我太傻了!我忘记使用/a开关来启用算术运算!但是当我相应地更改代码时...
@ECHO OFF
for /f "delims=" %%x in (TimesRun.txt) do set Build=%%x
set /a Build=%Build%+1
@echo Build value : %Build%
echo %Build%>>TimesRun.txt
Pause
...有趣的事情发生了:我想将文件追加,但是控制台却输出了 ECHO is off.。我知道通常这种情况发生在使用
ECHO
时没有文本或空变量的情况下。我已经添加了第一个@echo Build value : %Build%
来检查变量Build是否为空;它不为空,计算也正确执行了。我已经发现后面缺少内容,请提供完整的待翻译文本。
>>TimesRun.txt (echo %Build%)
虽然我不明白为什么,但这确实带来了期望的结果。
echo %Build%>>TimesRun.txt
然而,我错过了什么吗?