成功FTP传输后删除本地文件

时间:2014-01-23 07:57:35

标签: batch-file ftp

我正在编写一个批处理文件,它将执行以下操作:

  1. 连接到远程FTP站点
  2. 将所有文件从本地导演推送到远程FTP站点
  3. Disconnet
  4. 这很好用,我还想在上传后清空本地目录(否则每次都会传输它们)。不幸的是我遇到了一个问题,即连接到侧面可能并不总是可能的,因此如果我在我的批处理文件的末尾添加一个原始del ,它将删除文件,即使它们还没有上传。

    有人能想到解决这个问题的方法吗?即如果文件已上传,则删除。

        @echo off
    cd \
    cd c:\temp
    echo user bacon> ftpcmd.dat
    echo eggs>> ftpcmd.dat
    echo bin>> ftpcmd.dat
    echo put *.xls>> ftpcmd.dat
    echo bye>> ftpcmd.dat
    ftp -n -s:ftpcmd.dat <Server>
    del ftpcmd.dat
    

2 个答案:

答案 0 :(得分:1)

似乎ftp命令不返回要操作的错误级别,因此最好的选择是将ftp命令的输出重定向到文件并使用findstr检查输出中的错误。

答案 1 :(得分:0)

Windows FTP命令不提供保证文件完整的方法。

命令行FTP传输可能会失败,您将有一个截断的文件,FTP不提供检测此方法。