1. 程式人生 > >bat無故報錯打印混亂的解決

bat無故報錯打印混亂的解決

語句 got spa clas get rem 註釋 可執行 增加

1.

下面語句加了一個無意義的ping操作。
不加的時候經常報錯,報操作數不是數字,實際上打印發現NOW值和格式並沒有錯誤。
懷疑是下面操作數太多了,而執行速度又太快,導致執行時總是很容易出錯。通過增加一個無效的ping操作,增加算術運算前的緩沖,結果不再報錯了。

:GetSeonds
set NOW=%time%
ping 127.0.0.1 -n 1 -w 0.1 >nul
set /a GetSeonds=%NOW:~0,2%*60+%NOW:~3,2%*60+%NOW:~6,2%
GOTO :eof

2.

原來有個bat腳本,裏面註釋大量使用了::,就發現很容易出現一些無緣無故的信息打印。後面查到::本身並非真正的註釋,只是由於:後面不是字母所以是一個錯誤標簽,一般標簽本來也不是可執行語句只是名字,所以可以被作為註釋,只是容易在執行時其中某些字符錯誤被當成語句執行。

正確的註釋應該是用REM(Remark), 修改後該腳本不再打印混亂。

bat無故報錯打印混亂的解決