Batch file 用于检查FTP连接是否成功的批处理命令
我正在编写一个批处理命令,通过FTP发送数据。在发送实际数据之前,我需要确定FTP服务器是否处于活动/运行状态。如何在批处理命令中检查Batch file 用于检查FTP连接是否成功的批处理命令,batch-file,ftp,Batch File,Ftp,我正在编写一个批处理命令,通过FTP发送数据。在发送实际数据之前,我需要确定FTP服务器是否处于活动/运行状态。如何在批处理命令中检查 当服务器连接时,它会响应“220服务器就绪”消息。执行以下操作: YourFTPCommand | find /i /v "220 server ready" && goto :ServerNotReady 说明: 管道FTP命令的输出以查找 对不包含(/v)字符串“220服务器就绪”的输出执行不区分大小写(/i)搜索 如果找到这样的字符串(&
当服务器连接时,它会响应“220服务器就绪”消息。执行以下操作:
YourFTPCommand | find /i /v "220 server ready" && goto :ServerNotReady
说明:
我认为没有一种可靠的方法可以用Windows
ftp.exe
实现这一点
不管连接或之前的命令是否成功,它都会盲目地运行这些命令
它甚至不会通过退出代码报告结果
您所能做的就是解析ftp.exe
输出
您最好使用第三方FTP客户端 例如,您可以使用:
@echo off
winscp.com /log=ftp.log /command ^
"open ftp://user:password@example.com/" ^
"put c:\local\path\file.txt" ^
"exit"
如果连接(命令)失败,WinSCP将不会执行以下命令(命令)
另见
(我是WinSCP的作者)也许您可以使用
ftp-s:ftpscript.txt
从而避免检查服务器是否正在运行?