为使用 Task Scheduler 执行的 WinSCP 脚本指定目标文件夹

Specifying destination folder for WinSCP script executed with Task Scheduler

我正在尝试从 FTP 服务器自动备份到本地外部硬盘驱动器。当从外部硬盘驱动器目标文件夹手动 运行 时,以下脚本适用于 WinSCP:

E:\Backups\FTP>"C:\Program Files (x86)\WinSCP\WinSCP.com" /ini=nul /script="E:\Backups\ftptpp.txt"

我在 Windows 中安排任务的经验很少,我正在使用 Windows 8.1。按照 WinSCP 指南,到目前为止我已经写了这个:

"C:\Program Files (x86)\WinSCP\WinSCP.exe" /log="C:\Program Files (x86)\WinSCP\WinSCP.log" /ini=nul /script="E:\Backups\ftptpp.txt"

但是,在我手动 运行 的原始脚本中,我 运行 它来自目标文件夹。如何在任务计划程序中指定目标文件夹所在的位置 (E:\Backups\FTP)?

作为参考,ftptpp.txt 脚本如下所示:

# Connect
  open ftp://username:password@ftp.example.org/
# Change remote directory
  cd /
# Download file to the local directory
  synchronize local
# Disconnect
  close
# Exit WinSCP
  exit

为计划任务指定 "Action" 时,会出现一个名为 "Start in" 的字段。这对应于您 "ran" 手动编写脚本的目录,即 "destination folder" E:\Backups\FTP.


虽然我个人建议您直接在 WinSCP 脚本中指定目标文件夹:

synchronize local E:\Backups\FTP /

cd /
lcd E:\Backups\FTP
synchronize local

https://winscp.net/eng/docs/scriptcommand_synchronize


旁注:除非您 运行 具有管理员权限的任务(您不应该这样做!),否则您无法登录到 "Program Files" 文件夹,因此这将不起作用:

/log="C:\Program Files (x86)\WinSCP\WinSCP.log"