获取系统时间的DOS命令
DOS
C:\Users\yaozhendong>echo %date:~0,10% %time%
2011/12/24 19:45:41.25
前段时间工作中需要对一个地址做定时PING操作,并将结果输出到TXT文件中,为此做了个批处理文件,用到了获取系统时间的DOS命令“%date%”“%time%”。下面把具体使用方法记录如下
文件内容示例:
“echo %date% %time%>>d:\bmw\ping%date:~0,10%_%time:~0,2%.%time:~3,2%.txt
ping 192.109.190.184 -l 1400 -n 1000>>d:\bmw\ping%date:~0,10%_%time:~0,2%.%time:~3,2%.txt”
“echo %date% %time% ” 输出当前系统日期 时间
“>> ” 以追加方式写入">"以覆盖方式写入
"d:\bmw\ " 输出文件目录
"ping%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%.%time:~3,2%.txt"
输出文件名
其中:
"%date:~0,10% " 从当前系统日期中第"0"位开始取出"10"位
"%time:~0,2% " 从当前系统时间中第"0"位开始取出"2"位
如果当前时间为:2007-03-09 星期五 15:44:00.73
此时执行就会在d:\bmw\下生成:ping2007-03-09_15.44.txt文件.
注意:现在有个问题,如果当前时间是:2007-03-09 星期五 5:44:00.73
此时执行就会在d:\bmw\下生成:ping2007-03-09_5:.4:.txt文件,
显然这是不可能的,因为":"在文件名中是非法字符,最终结果是:d:\bmw\下生成:ping2007-03-09_文件.
就是说如果在10:00以前执行这个两批处理文件就不会得到我们想要结果,
解决的方法是将"%time:~0,2%.%time:~3,2%"改成"%time:~0,1%.%time:~2,2%"
这样的10:00以前执行就会生成正确的文件:ping2007-03-09_5.44.txt
但这样10:00以后执行就会出错,解决方法就不说了.