2010-11-08 42 views
0

我试图设置自动备份7zip,但我遇到输出文件名的问题。如何批量输出工作日和月份(日志文件)?

我试过使用%date%命令,但它只是在备份中创建了2个目录。

C:\用户\桌面\太阳11 \ 07 \ 2010.7z

我怎样才能使它只需登录日期和月份?

C:\用户\桌面\孙11-07-2010.7z

回答

1

尝试

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) 

(*为掩膜对要备份的文件。 )

0

您可以使用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% 
相关问题