更新:现在是2016年,我将使用PowerShell,除非有一个真正令人信服的向后兼容的原因,特别是因为使用日期的区域设置问题。参见@npocmaka的https://stackoverflow.com/a/19799236/8479
什么是Windows命令行语句(s),我可以使用以我可以放入文件名的格式获取当前日期时间?
我想要一个.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。我不想安装额外的实用程序来实现这一点(尽管我知道有一些工具可以很好地格式化日期)。