量産メモ帳

忘れっぽいのでメモを残しています。浅く適当に書きます。

バッチの中でファイルに日付文字列を付けて別名保存する。

スポンサーリンク

バッチの中で、あるファイルの名前に yyyyMMddHHmmss 形式の日付文字列を付けて別名保存したい場合、保存自体はは copy コマンドを使えばできるので記載は省くとして、少し面倒なのが日付文字列をどうやって取得するのかという点。


結論を先に書くと、こんな感じで取得できる。

echo %date:~-10,4%%date:~-5,2%%date:~-2,2%%time:~0,2%%time:~3,2%%time:~6,2%



残念な点は、0時〜9時の間に実行すると、時間を取得する %time:~0,2% の結果の先頭に空白が入ってしまうこと。
その場合、以下のように空白を 0 に置換すれば良いけど、一行で完結できないのが残念。

set time2=%time: =0%
echo %date:~-10,4%%date:~-5,2%%date:~-2,2%%time2:~0,2%%time2:~3,2%%time2:~6,2%



参考資料: