Windows Task Scheduler手动运行,在Scheduler中失败

问题描述 投票:0回答:1

在过去的两天内,我一直在努力使调度程序正常工作。我正在尝试使用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 Task Scheduler每20分钟运行一次时,它不会运行。但是,即使在Scheduler中,如果我双击并手动运行它也可以正常工作。我什至尝试将批处理文件转换为.exe,但在那里遇到相同的问题。

Windows Task Scheduler设置为-

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

并且对于.exe文件也类似

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

我也尝试过-

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

它以最高特权运行,并且没有超时。

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

windows batch-file cmd scheduler
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.