Windows任务计划程序手动运行,在调度程序中失败

时间:2017-04-11 20:14:45

标签: windows batch-file cmd scheduler

我一直在尝试让调度程序在过去两天工作。 我正在尝试使用WinSCP从远程服务器同步文件夹,但是我不想让WinSCP继续运行,因此使用批处理文件运行它。批处理文件如下。

"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
  /log="WinSCP_log.log" /ini=nul ^
  /command ^
    "open sftp://xxxxxxxxxxxxxxxxx -hostkey=""xxxxxxxxxxxxxxxxxxxxx""" ^
    "cd /data/remotexxxxxx" ^
    "lcd C:\localxxxxx" ^
    "synchronize local" ^

我运行批处理文件时运行正常。使用Windows任务计划程序每20分钟运行一次时它不会运行。但是,即使在Scheduler中,如果我双击并手动运行它也能正常工作。我甚至尝试将批处理文件转换为.exe,但在那里面临同样的问题。

Windows任务计划程序设置为 -

  

程序/脚本:/Directory/sync_winscp.bat参数:开始于:   /目录

类似于.exe文件

  

程序/脚本:/Directory/sync_winscp.exe参数:开始于:

我也试过了 -

  

程序/脚本:... / Win32 / cmd.exe参数:   /Directory/sync_winscp.bat开始于:

它以最高权限运行,没有超时。

更新: 我还有另一个.bat文件来调用python并每天运行一个脚本,运行得非常好。

1 个答案:

答案 0 :(得分:0)

编辑任务并切换到“触发器”选项卡。 在列表中选择指定的触发器,然后单击“编辑”按钮。 确保以下所有内容均正确:

  1. “开始任务”选项设置为“按计划”值。
  2. 开始日期是今天,时间比现在晚了几分钟。
  3. 已选中“启用”复选框。

完全单击确定以激活任务,然后在下一次运行时进行验证。 以上所有设置都很重要,但是关键是,直到首先触发任务,任务才会运行。换句话说,它将仅在触发后按计划运行。这就是为什么开始时间必须设置为将来的原因。