【发布时间】:2017-04-11 20:14:44
【问题描述】:
过去两天我一直在尝试让调度程序工作。 我正在尝试使用 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 分钟运行一次时,它不会运行。但是,即使在调度程序中,如果我双击并手动运行它也可以正常工作。我什至尝试将批处理文件转换为 .exe,但在那里遇到了同样的问题。
Windows 任务计划程序设置为 -
程序/脚本:/Directory/sync_winscp.bat 参数:开始于: /目录
对于 .exe 文件也是如此
程序/脚本:/Directory/sync_winscp.exe 参数:开始于:
我也试过了-
程序/脚本:.../Win32/cmd.exe 参数: /Directory/sync_winscp.bat 开始于:
它以最高权限运行,没有超时。
更新: 我还有另一个 .bat 文件来调用 python 并每天运行一个运行良好的脚本。
【问题讨论】:
-
提供所有相关文件和目录的完整路径!计划任务是否在用户上下文下运行?
-
在调度器中,所有的路径都已作为完整地址输入。我不确定您所说的用户上下文是什么意思。
-
我在说是否勾选了“用户登录时运行脚本”复选框...
-
不,它说无论用户是否登录都运行。
标签: windows batch-file cmd scheduler