使用7z命令行使用当前日期创建存档会破坏名称

时间:2014-08-13 10:03:22

标签: windows batch-file backup 7zip

我正在尝试设置一个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。

1 个答案:

答案 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