所以我寫了一個批處理,它有一些代碼,通過讀取一個文本文件來檢查它已經運行了多少次,然後在該文本文件中寫回新增加的數字。批處理:爲什麼附加文本文件寫入「ECHO關閉」而不是?
@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處於關閉狀態。寫在控制檯上。現在,我知道這通常發生在使用ECHO
時沒有文字或空變量。我已經添加了第一個@echo Build value : %Build%
專門查看變量Build是否爲空;它不是,計算正確執行。 我已經想通了,
>>TimesRun.txt (echo %Build%)
確實帶來期望的結果。我仍然不明白爲什麼
echo %Build%>>TimesRun.txt
不過。我錯過了什麼?