« 変換ミス | メイン | Oracle リモートからのロード »

2004年10月07日

バッチ - ファイル名に日付時刻をつける

こういうこともたまにやっています。
備忘録です。

rem -- DATEからYYYYMMDDを抽出
set D=%date:~0,4%%date:~5,2%%date:~8,2%

rem -- TIMEからHHMMSSを抽出
set T=%time:~0,2%%time:~3,2%%time:~6,2%

rem -- できているかチェック
echo %D%
echo %T%

rename a.txt a.%D%%T%

参考リンク
http://www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdate.html

上記はWinXPでした。

Win2000やWin2003では日付のフォーマットが異なるようです。

rem -- DATEからYYYYMMDDを抽出
set NowDate=%date:~2,4%%date:~7,2%%date:~-2%

rem -- TIMEからHHMMSSを抽出
set hh=%time:~0,1%9
set NowTime=0%time:~1,1%%time:~3,2%

rem -- NowTimeが0-9時だったら頭に「0」を追加
if %hh% GEQ 10 set NowTime=%time:~0,2%%time:~3,2%
set NowDateTime=%NowDate%%NowTime%
echo %NowDateTime%

rem -- ログファイルを指定 存在したら名称変更
set LOG_Name=a.log
if exist %LOG_Name% move /Y %LOG_Name% %LOG_Name%%NowDateTime%

参考リンク http://bbso1.nifty.com/nbbin/nb_wrentC_list/fpcu_bbso-005/wr_add=6086/wr_sq=04081111210106018715

投稿者 cottonclub : 2004年10月07日 10:37

トラックバック

このエントリーのトラックバックURL:
http://surfmountain.net/cgi/mt/mt-tb.cgi/25