我正在尝试设置一个7zip批处理文件来备份存档中的数据,并在文件名中包含当前日期。
到目前为止,我已经设置了
@ECHO OFF
7z a C:\Download\%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%_Backupfile.7z -mhe -mx0 -r -ssw -w -i@files_included_in_backup.txt -x@files_excluded.txt
暂停
备份本身很好,它应该会生成一个名为JJJ-MM-DD_Backupfile.7z的文件。
虽然今天在8月13日它给了我一个名为2014-8的文件。 -01_Backupfile.7z
任何想法都会出错? 我使用的是Windows 8.1 64位和7-Zip命令行版本9.20。
答案 0 :(得分:1)
试一试:
此代码的前四行将为您提供XP Pro及更高版本中可靠的YY DD MM YYYY HH Min Sec变量。
@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
set "datestamp=%YYYY%-%MM%-%DD%" & set "timestamp=%HH%%Min%%Sec%" & set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"
7z a "C:\Download\%datestamp%_Backupfile.7z" -mhe -mx0 -r -ssw -w -i@files_included_in_backup.txt -x@files_excluded.txt