zoukankan      html  css  js  c++  java
  • bat无故报错打印混乱的解决

    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

    1.1

    实际后面发现上面1的时间计算错误是由于截取字符串可能出现08 09,因为0x运算时会被当做8进制 ,所以08 09非法。

    2.

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

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

  • 相关阅读:
    细说Cookie(转)
    Custom Exception in ASP.NET Web API 2 with Custom HttpResponse Message
    内核中的定时器
    ibus拼音安装_ubuntu10.04
    linux模块
    zebra/quagga线程分析
    vim常用配置
    rar安装和使用
    zebra/quagga
    netsnmp编译动态库
  • 原文地址:https://www.cnblogs.com/dongzhiquan/p/6965330.html
Copyright © 2011-2022 走看看