我有一个简单的一行bat文件,它运行curl localhost:port。我的curl.exe与我没有全局安装的bat在同一个文件夹中。如果我双击它,它运行正常,如果我右键单击任务调度程序并选择运行任务,它也运行正常。它还表示它完成了计划任务"成功但没有任何反应(我确信这一点,因为我正在检查脚本运行时应该更新的数据,并且它不会在计划/自动方案下发生)。在阅读了大量用户问题之后,我尝试了两种方式进行配置(全部是5分钟更新):
常用方法
Action: Start a Program
Program/script: C:\p\updater.bat
Start in: C:\p\
其他方式
Action: Start a Program
Program/script: cmd
Add arguments: /c start "" "C:\p\updater.bat"
我已经设置了bat和包含文件夹的权限,以允许所有用户/等等。自动触发时都不起作用,也不是错误。我曾在Server 2008和Windows 10(我的操作系统)模式下尝试过。如果我右键单击运行任务,两者都不自动,任何想法?
答案 0 :(得分:2)
计划脚本的默认工作目录是%Windows%\ system32。尝试在第一行添加updater.bat:
cd c:\p\
对于诊断,您可以在bat文件中添加输出重定向:
echo Script Started >> c:\p\log.txt
curl SomeCommand SomeCommand >>c:\p:\curloutput.txt
echo Script Ended >> c:\p\log.txt
并在执行脚本后检查文件log.txt和curloutput.txt