Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 用于检查FTP连接是否成功的批处理命令_Batch File_Ftp - Fatal编程技术网

Batch file 用于检查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)搜索 如果找到这样的字符串(&

我正在编写一个批处理命令,通过FTP发送数据。在发送实际数据之前,我需要确定FTP服务器是否处于活动/运行状态。如何在批处理命令中检查


当服务器连接时,它会响应“220服务器就绪”消息。

执行以下操作:

YourFTPCommand | find /i /v "220 server ready" && goto :ServerNotReady
说明:

  • 管道FTP命令的输出以查找
  • 对不包含(/v)字符串“220服务器就绪”的输出执行不区分大小写(/i)搜索
  • 如果找到这样的字符串(&&),请转到某个地方

  • 我认为没有一种可靠的方法可以用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
    从而避免检查服务器是否正在运行?