如何批量输出工作日和月份(日志文件)?

时间:2010-11-08 04:11:23

标签: batch-file backup 7zip

我正在尝试设置7zip进行自动备份,但我输出文件名有问题。

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

C:\ Users \ Desktop \ Sun 11 \ 07 \ 2010.7z

如何记录日期和月份?

C:\ Users \ Desktop \ Sun 11-07-2010.7z

3 个答案:

答案 0 :(得分: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)

(*。*是要备份的文件的掩码)

答案 1 :(得分:0)

答案 2 :(得分: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%