首页 > 代码库 > bat无故报错打印混乱的解决

bat无故报错打印混乱的解决

1.

下面语句加了一个无意义的ping操作。
不加的时候经常报错,报操作数不是数字,实际上打印发现NOW值和格式并没有错误。
怀疑是下面操作数太多了,而执行速度又太快,导致执行时总是很容易出错。通过增加一个无效的ping操作,增加算术运算前的缓冲,结果不再报错了。

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

 

2.

原来有个bat脚本,里面注释大量使用了::,就发现很容易出现一些无缘无故的信息打印。后面查到::本身并非真正的注释,只是由于:后面不是字母所以是一个错误标签,一般标签本来也不是可执行语句只是名字,所以可以被作为注释,只是容易在执行时其中某些字符错误被当成语句执行。

正确的注释应该是用REM(Remark), 修改后该脚本不再打印混乱。

bat无故报错打印混乱的解决