代码之家  ›  专栏  ›  技术社区  ›  Kyle

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

  •  0
  • Kyle  · 技术社区  · 14 年前

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

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

    C:\users\desktop\sun 11\07\2010.7z

    我怎样才能让它只记录日期和月份?

    C:\用户\桌面\Sun 11-07-2010.7Z

    3 回复  |  直到 14 年前
        1
  •  1
  •   Dr. belisarius    14 年前

    尝试

    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)
    

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

        3
  •  0
  •   paxdiablo    14 年前

    可以使用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%
    
    推荐文章