我有一个可执行文件,可以打开命令提示符并连接到FTP。我们使用此命令通过在命令窗口中手动键入get
和put
命令来下载和上载文件。我的最终目标是使用ASP.NET
控制台应用程序或批处理文件自动执行FTP过程,任何一个都可以使用。我已经尝试在批处理文件中调用可执行文件,后跟ftp命令,但它等待可执行文件在批处理文件中运行下一个命令之前退出。
"C:\MyFtp.exe"
get ‘FtpFile.txt’ C:\temp\MyFile.txt
timeout /t 5
为了说明,如果我打开上面的批处理文件,我希望它在get
可执行文件中执行MyFtp.exe
命令。但是在执行其他命令之前,它等待我输入quit
。有没有人有任何建议?
答案 0 :(得分:2)
这是一个vbscript,可以满足您的要求。您可以通过批处理文件“C:\ windows \ system32 \ cscript.exe C:\ my \ file \ _ location.vbs”激活它,或者如果您使用的是32位系统,则可以直接激活它。查看vbscript信息部分以获取更多详细信息。
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run("""C:\my folder loc\MyFtp.exe""")'Keep double quotes for specific path names
Do Until Success = True
Success = objShell.AppActivate("Untitle - FTP") ' Put application title text here (e.g. Untitle - Notepad)
Wscript.Sleep 1000
Loop
enter code here
objShell.SendKeys "get 'FtpFile.Txt' C:\temp\MyFile.txt"
objShell.SendKeys "~" 'enter
objShell.SendKeys "timeout /t 5"
objShell.SendKeys "~" 'enter