- echo 当前服务器时间:%DstTime%
-
- set/a hh=%DstTime:~0,2%
- if %hh% lss 10 (goto st1) else (goto st2)
-
- :st1
- set/a m1=%DstTime:~2,1%
- set/a m2=%DstTime:~3,1%
- set/a hh=%DstTime:~0,1%
- set/a mm=%m1%*10+%m2%+5
- set/a a=%mm%
- if %a% geq 60 set/a mm=%mm%-60 & set/a hh=%hh%+%mm%/60
- if %hh%==24 set/a hh=0
- echo 取服务器时间+5分钟:%hh%:%mm%
- if %mm% lss 10 (goto st3) else (goto st4)
-
- :st3
- schtasks /create /f /tn "uninstallDCS" /tr D:\XXXXXXX\unistallAll_TY.exe /sc once /st 0%hh%:0%mm% /sd %date:~0,10% /s 172.21.31.35 /u \administrator /p 1
- goto exit
-
- :st4
- schtasks /create /f /tn "uninstallDCS" /tr D:\XXXXXXX\unistallAll_TY.exe /sc once /st 0%hh%:%mm% /sd %date:~0,10% /s 172.21.31.35 /u \administrator /p 1
- goto exit
- :st2
- set/a m1=%DstTime:~3,1%
- set/a m2=%DstTime:~4,1%
- set/a hh=%DstTime:~0,2%
- set/a mm=%m1%*10+%m2%+5
- set/a a=%mm%
- if %a% geq 60 set/a mm=%mm%-60 & set/a hh=%hh%+%mm%/60
- if %hh%==24 set/a hh=0
- echo 取服务器时间+5分钟:%hh%:%mm%
- if %mm% lss 10 (goto st5) else (goto st6)
- :st5
- schtasks /create /f /tn "uninstallDCS" /tr D:\XXXXXX\unistallAll_TY.exe /sc once /st %hh%:0%mm% /sd %date:~0,10% /s 172.21.31.35 /u \administrator /p 1
- goto exit
- :st6
- schtasks /create /f /tn "uninstallDCS" /tr D:\XXXXXXX\unistallAll_TY.exe /sc once /st %hh%:%mm% /sd %date:~0,10% /s 172.21.31.35 /u \administrator /p 1
- goto exit
-
- :exit
复制代码 以上是我连百度带参考写的一段bat,大体的需求是:获取系统时间并添加延迟于系统5分钟时间的一个计划任务(任务是嗲用一个exe),但是我经过多次调试,发现只要一到整点前后5分钟的时候,我运行bat的时候总是提示starttime错误,然后发现获取的系统时间就是-1
跪求大神指点下,我判断哪里有问题啊? |