我一直在尝试让调度程序在过去两天工作。 我正在尝试使用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并每天运行一个脚本,运行得非常好。
答案 0 :(得分:0)
编辑任务并切换到“触发器”选项卡。 在列表中选择指定的触发器,然后单击“编辑”按钮。 确保以下所有内容均正确:
完全单击确定以激活任务,然后在下一次运行时进行验证。 以上所有设置都很重要,但是关键是,直到首先触发任务,任务才会运行。换句话说,它将仅在触发后按计划运行。这就是为什么开始时间必须设置为将来的原因。