我有一个使用Task Scheduler运行的批处理文件。这段代码失败了:
Set mm=%DATE:~4,2%
Set dd=%DATE:~7,2%
Set yyyy=%DATE:~10,4%
set t=%TIME:~0,2%
mkdir L:\Weekly\%yyyy%%mm%%dd%%t%\Edge
当我启动任务时,会创建此目录:
L:\Weekly\2016063013\Edge
但是,当通过计划的触发器运行任务时,将创建此目录:
L:\Weekly\20160702
我很难调试此错误。我需要小时来区分事件后手动触发的备份与正常的夜间/每周自动例程。
答案 0 :(得分:0)
脚本在中午之前无法运行,因为当我用%TIME:~0,2%拉小时时,该值用空格填充,即" 2" 即可。这就是 makedir 不包含" \ Edge" 子目录的原因。
以下是更正后的摘录:
Set mm=%DATE:~4,2%
Set dd=%DATE:~7,2%
Set yyyy=%DATE:~10,4%
Set t=%TIME:~0,2%
::replace space with a zero
Set t=%t: =0%
mkdir L:\Weekly\%yyyy%%mm%%dd%%t%\Edge