How to insert date and time to a filename in a batch script?
本问题已经有最佳答案,请猛点这里访问。
我为Jenkins作业编写了一个批处理脚本,它编译了一个".net"代码,其中一个步骤就是在提取新的编译代码之前备份当前目录。
我正在使用这些行来提取我想要插入备份文件名的日期和时间:
1 2 3 4 | for /F"tokens=2-4 delims=/" %%i in ('date /t') do set date=%%k%%i%%j for /f"tokens=1-2 delims=/:" %%a in ('time /t') do set time=%%a%%b powershell.exe -nologo -noprofile -command"& { Add-Type -A System.IO.Compression.FileSystem; [IO.Compression.ZipFile]::CreateFromDirectory('bin', 'bin-%date%_%time%.zip'); }" xcopy bin-%date%_%time%.zip c:\temp |
问题出在
1 | 01:00 AM |
这会导致文件名为:
1 | bin-20170412-0100 AM.zip |
这是一个问题。
我想从时间变量中省略"AM",怎么做呢?
因为你显然没有使用powershell的问题,所以用以下代码替换前两行:
1 2 | For /F %%A In ('Powershell -C"Get-Date -Format yyyyMMdd_HHmm"' ) Do Set"archive=bin-%%A.zip" |
然后,您可以在变量