【发布时间】:2014-03-10 16:42:19
【问题描述】:
我有一个可执行文件,可以打开命令提示符并连接到 FTP。我们通过在命令窗口中手动输入get 和put 命令来使用它来下载和上传文件。我的最终目标是通过使用ASP.NET 控制台应用程序或批处理文件来自动化FTP 过程,其中任何一个都可以。我尝试在批处理文件中调用可执行文件,然后调用 ftp 命令,但它会等待可执行文件退出,然后再运行批处理文件中的下一个命令。
"C:\MyFtp.exe"
get ‘FtpFile.txt’ C:\temp\MyFile.txt
timeout /t 5
为了说明,如果我打开上面的批处理文件,我希望它在MyFtp.exe 可执行文件中执行get 命令。但相反,它会等待我输入quit,然后再执行其他命令。有人有什么建议吗?
【问题讨论】:
-
它是否支持从其他地方读取输入取决于您的 FTP 程序。试试
MyFtp.exe < commands.txt,其中 commands.txt 包含 FTP 命令。你能告诉我们程序的名称吗?如果没有,您可以看看MyFtp.exe /?或MyFTP.exe -help并发布结果吗? -
MyFTP.exe -help返回错误。当我正确打开它时,命令提示符会显示CDFTP:,我可以在那里输入help,它会显示所有常见的ftp命令。MyFTP.exe是我们从另一家公司继承的自定义可执行文件,我们没有得到任何关于它的文档。 -
MyFTP.exe < commands.txt怎么样?您不能使用任何其他 FTP 程序是否有充分的理由? -
MyFTP.exe < commands.txt实际上确实有效。我最初在VB.NET中使用Process类并指定StandardInput,以便我可以这样输入命令(类似于下面Rich 的答案),但这更干净。谢谢! @ThomasW。
标签: asp.net shell batch-file ftp cmd