我有一个简单的批处理文件,需要每周运行才能通过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的文档,谷歌等。似乎没有人遇到过这个问题。我已经应用了远距离相关问题的建议,但没有一个有效。
非常感谢任何帮助。谢谢。
答案 0 :(得分:0)
执行此操作的唯一方法是使用完整版的Core FTP(即Core FTP Pro)。如果您使用LE版本,则必须选中“仅在用户登录时运行”选项。
这是因为开头的启动画面。
如果您无法永久登录,则可以创建一个仅为这些任务登录的用户。
请记住在CoreFTP上使用-Log选项来检查它是否确实在做某事。