更新:2016年になりましたが、特に互換性のある下位互換性の理由がない限り、これにはPowerShellを使用しdate
ます。特に、の使用に関する地域設定の問題が原因です。@npocmakaのhttps://stackoverflow.com/a/19799236/8479を参照してください
ファイル名に含めることができる形式で現在の日時を取得するために使用できるWindowsコマンドラインステートメントとは何ですか?
たとえば、現在の日付と時刻を名前の一部としてアーカイブにディレクトリを圧縮する.batファイルが必要ですCode_2008-10-14_2257.zip
。マシンの地域設定に関係なく、これを行う簡単な方法はありますか?
日付の形式は特に問題ありません。理想的にはyyyy-mm-ddですが、単純なものであれば問題ありません。
これまでのところ私はこれを持っていますが、私のマシンでは次のようになりますTue_10_14_2008_230050_91
。
rem Get the datetime in a format that can go in a filename.
set _my_datetime=%date%_%time%
set _my_datetime=%_my_datetime: =_%
set _my_datetime=%_my_datetime::=%
set _my_datetime=%_my_datetime:/=_%
set _my_datetime=%_my_datetime:.=_%
rem Now use the timestamp by in a new ZIP file name.
"d:\Program Files\7-Zip\7z.exe" a -r Code_%_my_datetime%.zip Code
私はこれで生活できますが、少し不格好です。理想的には、それはより簡潔で、前述のフォーマットを持っているでしょう。
Windows Server 2003とWindows XP Professionalを使用しています。これを実現するために追加のユーティリティをインストールしたくありません(ただし、日付の書式を適切に設定できるものはいくつかあります)。
[datetime]::now.tostring("yyyy-MM-dd")