0

我有一个简单的批处理文件,需要每周运行一次才能通过 Core FTP 上传一些文件。

我正在使用 Core FTP LE 的免费版本。

MySavedProfile 是我使用 Core FTP 的站点管理器创建的已保存配置文件的站点名称。配置文件包含要连接到的站点的 URL / 凭据 / 等。

以下是批处理文件的内容:

  SET logf=confirm.log
  echo test-start >> %logf%
  "C:\Progra~1\CoreFTP\coreftp.exe" -B -s -pasv -O -site MySavedProfile -u "C:\Progra~2\PathToFiles\FileToUpload.txt"
  echo test-finish >> %logf%

对于 Windows Server 2012 r2 任务计划程序,我在运行批处理文件的任务计划程序库根目录上创建了一个基本的每周计划任务。对于这个计划任务,我有:

(在常规选项卡下)

   "Run whether user is logged on or not" is selected
   "Run with highest privileges" is checked
    Configure for = Windows Server 2012 R2

(在行动中)

   Action = Start a program
   Program / Script = "C:\Progra~2\PathToFiles\batch.bat"
   Start in = C:\Progra~2\PathToFiles\

这是我得到的奇怪行为:

如果我直接双击批处理文件,它可以正常工作并通过Core FTP上传文本文件就好了。

但是,如果我尝试让 Windows 任务计划程序运行它,它会运行除核心 FTP 线路之外的所有内容。也就是说,我得到了通常的:

 test-start
 test-finish

在 confirm.log 文件中,但 FileToUpload.txt 尚未上传到远程服务器,并且我可以检测到 CoreFTP 没有错误。

我已经使用有权运行批处理文件的服务帐户以及我自己的用于此计划任务的帐户进行了尝试。我得到了相同的结果:它似乎没有运行 CoreFTP 行。至少不是通过任务计划程序。我需要这个上传是自动化的。

我搜索了 Core FTP 的文档、Google 等。似乎没有人遇到过这个确切的问题。我已经应用了来自遥远相关问题的建议,但它们都没有奏效。

任何帮助将不胜感激。谢谢你。

4

1 回答 1

0

唯一的方法是使用完整版的 Core FTP(即 Core FTP Pro)。如果您使用 LE 版本,则必须选中“仅在用户登录时运行”选项。

发生这种情况是因为一开始的启动画面。

如果您不能永远登录,您可以创建一个始终只为执行这些任务而登录的用户。

请记住在 CoreFTP 上使用 -Log 选项来检查它是否真的在做某事。

于 2015-05-28T03:32:01.733 回答