1. 程式人生 > >獲取系統時間的DOS命令

獲取系統時間的DOS命令

當前系統時間 獲取 記錄 現在 其中 txt 非法字符 系統時間 user

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以後執行就會出錯,解決方法就不說了.

獲取系統時間的DOS命令