所以我写了一个批处理,其中有一些代码来检查它通过读取文本文件运行了多少次,然后将新的增加的数字写回到该文本文件中。
@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
Run Code Online (Sandbox Code Playgroud)
这确实附加了文本文件,但它添加了“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
Run Code Online (Sandbox Code Playgroud)
......发生了一些有趣的事情:ECHO 关闭,而不是附加我的文件。写在控制台上。现在,我知道这通常发生在ECHO没有文本或空变量的情况下。我添加了第一个,@echo Build value : %Build%专门查看变量Build是否为空;事实并非如此,并且计算是正确进行的。我已经想通了
>>TimesRun.txt (echo %Build%)
Run Code Online (Sandbox Code Playgroud)
确实带来了预期的结果。我还是不明白为什么
echo %Build%>>TimesRun.txt
Run Code Online (Sandbox Code Playgroud)
不,但是。我错过了什么?