【问题标题】:Specifying destination folder for WinSCP script executed with Task Scheduler为使用任务计划程序执行的 WinSCP 脚本指定目标文件夹
【发布时间】:2018-02-11 19:11:23
【问题描述】:

我正在尝试从 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

【问题讨论】:

    标签: ftp scheduled-tasks winscp taskscheduler


    【解决方案1】:

    为您的计划任务指定“操作” 时,有一个名为“开始于” 的字段。这对应于您手动“运行”脚本的目录,即 “目标文件夹” 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"
    

    【讨论】:

    • 这正是我所需要的。我将在下一次计划运行中使用第一个建议,我相信这会成功。
    • 感谢您对保存日志的提醒。我也会在本地保存在外部。
    猜你喜欢
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 2023-02-21
    • 2014-12-23
    • 2018-09-09
    • 2014-01-27
    相关资源
    最近更新 更多