2009年5月18日 星期一

批次檔 batch file 取得日期為變數值的運用

批次檔內容 (例如: log.bat ) 代碼:
@echo off 
@For /f "tokens=1-3 delims=/ " %%a in ('date /t') do (set date=%%a-%%b-%%c) 
@For /f "tokens=2-3 delims=: " %%a in ('time /t') do (set time=%%a:%%b) 

REM 這個 %date% 或 %time% 變數可以拿來做很多用途... 
@echo The date is %date% 
@echo The time is %time% 

REM 產生每天的資料夾 (如果目錄不存在就建立目錄) 
@IF NOT EXIST %date% mkdir %date% 

REM ********************************** 
REM 以任何方式檢查伺服器的狀態.... 
REM ********************************** 

REM 產生每天的 log 檔名,並記錄時間 (如果檔案不存在就建立檔案) 
@set dailylog=%date%.log 
@IF NOT EXIST %date%/%dailylog% echo ******************** > %date%/%dailylog% 

REM 如果伺服器掛掉了,就記錄下來 
@echo %date% %time% >> %date%/%dailylog% 
@echo Mail Server is Down >> %date%/%dailylog% 
echo ******************** >> %date%/%dailylog% 

REM 這裏是暫停命令提示字元視窗 
pause



輸出內容 
The date is 2007-07-17 
The time is 10:16 
請按任意鍵繼續 . . .



執行結果 
1. 產生一個名為 2007-07-17 的目錄 
2. 在前一個目錄中產生一個名為 2007-07-17.log 的文字檔,並記錄資訊 


參考資訊: 
Windows Batch File (.bat) to get current date in MMDDYYYY format 
http://www.tech-recipes.com/modules.php?name=Forums&file=viewtopic&t=1435 

The 10 Batch File Commands 
http://www.cs.ntu.edu.au/homepages/bea/home/subjects/ith305/description.html

1 則留言:

  1. 你好,打擾一下,"time" 若要呈現24小時制不知如何改?

    回覆刪除