我试图设置自动备份7zip,但我遇到输出文件名的问题。如何批量输出工作日和月份(日志文件)?
我试过使用%date%命令,但它只是在备份中创建了2个目录。
C:\用户\桌面\太阳11 \ 07 \ 2010.7z
我怎样才能使它只需登录日期和月份?
C:\用户\桌面\孙11-07-2010.7z
我试图设置自动备份7zip,但我遇到输出文件名的问题。如何批量输出工作日和月份(日志文件)?
我试过使用%date%命令,但它只是在备份中创建了2个目录。
C:\用户\桌面\太阳11 \ 07 \ 2010.7z
我怎样才能使它只需登录日期和月份?
C:\用户\桌面\孙11-07-2010.7z
尝试
7z a %DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%.7z *.* for (YYYY-MM-DD)
或
7z a %DATE:~7,2%-%DATE:~4,2%-%DATE:~-4%.7z *.* for (DD-MM-YYYY)
(*为掩膜对要备份的文件。 )
您可以使用WMI以特定格式获取日期详细信息。来自date
(和%date%
环境变量)的输出的问题在于它非常特定于语言环境。
如果执行:
wmic path win32_localtime get day^,month^,year^ /format:csv
你会发现你需要处理的输出。
下面的脚本,会得到yyyy-mm-dd
格式,你需要(使用星期几作为主排序关键字是不是一个好主意):
@echo off
for /f "skip=2, tokens=2-4" delims=," %%a in ('wmic path win32_localtime get day^,month^,year^ /format:csv') do (
set /a ymd = 10000 * %%c + 100 * %%b + %%a
)
set ymd=%ymd:~0,4%-%ymd:~4,2%%ymd:~6,2%
echo %ymd%