如何在批处理(日志文件)中输出工作日和月份?
-
29-09-2019 - |
题
我正在尝试设置自动备份的7ZIP,但我在输出文件名上遇到了麻烦。
我尝试使用%date%命令,但它只是在备份中制作了2个目录。
C: Users Desktop Sun 11 07 2010.7Z
我该如何仅登录日期?
C: Users Desktop Sun 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%
不隶属于 StackOverflow