在计划任务期间,批处理文件的核心FTP线路未运行。手动启动时工作

时间:2014-08-18 23:23:20

标签: batch-file scheduled-tasks ftps windows-server-2012-r2

我有一个简单的批处理文件,需要每周运行才能通过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的文档,谷歌等。似乎没有人遇到过这个问题。我已经应用了远距离相关问题的建议,但没有一个有效。

非常感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

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

这是因为开头的启动画面。

如果您无法永久登录,则可以创建一个仅为这些任务登录的用户。

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