Windows 使用7z命令行创建当前日期的存档会损坏名称
我正在尝试设置一个7zip批处理文件,以备份存档中文件名中当前日期的数据 到目前为止,我建立了Windows 使用7z命令行创建当前日期的存档会损坏名称,windows,batch-file,backup,7zip,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的文件 虽然今
@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版。试一试:
此代码的前四行将为您提供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
从cmd提示符尝试以下操作:
echo”%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%“
并将结果粘贴到此处。您好,这样做的结果是:2014-8-01是否可以粘贴回显“%date%”的结果?问题是,不同的计算机之间的%date%
是不同的,这取决于设置和国家/地区。我将在回答中发布一个健壮的方法。谢谢!我试过了,但文件名显示为_Backupfile.7z,没有任何日期。谢谢!我按照描述进行了尝试,但文件显示为uu.Backupfile.7z,没有附加任何日期。请立即尝试。我输入了变量名。很抱歉回复太晚。结果是2014-8年-又是01。