如何创建批处理文件以保存为日期

如何创建批处理文件以保存为日期

我创建了一个批处理文件,该文件在 Sage VIP 工资系统的任务调度程序上运行。我遇到的问题是日期 date 返回的是单词date.zip,而不是实际日期。

代码:

V:
@ECHO OFF
set ldt=%date%
pkzipc -add B:\VIP_Backup_IT\ldt *.pay *.vix
echo ldt
pause
exit

我得到了ldt.zip但不是日期

答案1

例如%date%,要引用变量,需要将其名称用百分号括起来:

V:
@ECHO OFF
set ldt=%date%
pkzipc -add B:\VIP_Backup_IT\%ldt% *.pay *.vix
echo %ldt%
pause
exit

注意:根据您的区域设置,您的日期格式可能生成一个作为文件名无效的字符串。

答案2

如果不解析并删除斜线符号,则无法创建或重命名以日期为名称的文件或目录/

这是获取日期并解析日期的一种方法。

@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

echo %YYYY%%MM%%DD%-%HH%%Min%
pkzipc -add B:\VIP_Backup_IT\%YYYY%%MM%%DD%-%HH%%Min% *.pay *.vix

pause
exit

相关内容