【问题标题】:Error-handling in batch controlled ftp-transfer批处理控制的 ftp 传输中的错误处理
【发布时间】:2013-05-22 09:51:16
【问题描述】:

我有一个用于我们客户的脚本,它将一个或多个文件传输到远程 ftp 服务器。

@echo off
@echo %DATE% %TIME% Starte FTP-Transfer. Bitte warten. >>C:\Users\xx\Desktop\log.txt
ftp -s:X:\xxx\FTP-Transfer\Transfer.txt >>C:\Users\xx\Desktop\log.txt
@echo %DATE% %TIME% FTP-Transfer beendet  >>C:\Users\xx\Desktop\log.txt

xcopy X:\xxx\FTP-Transfer\*  X:\xxx\FTP-Transfered\* <<-- copies the transfered files away

echo --- Complete ---
pause   REM delete this in live version!!

但是我需要某种错误处理。我需要的是一种在我复制文件之前确保传输已完成的方法。 Transfer.txt 中的脚本旨在将文件夹中的所有文件复制到远程服务器,并且每天运行数次。最简单的方法是让传输文件夹中的文件直到传输完成。

感谢所有建议。我愿意使用另一个 ftp 程序,只要我可以在批处理文件中访问它。

【问题讨论】:

  • log.txt 中显示了什么?我无法从此处访问 FTP 站点,因此无法进行测试,但我很确定您可以阅读日志输出以查找“传输完成”。
  • 这里有一些比 MS FTP 更强大的命令行 FTP 客户端。 WinSCPWgetcUrl
  • 谢谢,看起来 WinSCP 可以做到。不知道它支持cli。

标签: batch-file error-handling ftp


【解决方案1】:

看起来应该就像检查文件是否存在于不同的目录中一样简单,对吗?

if exist File.txt (
    ECHO File exists
)

然后在代码块中,设置一个变量来描述文件是否存在,然后插入另一个If块来复制文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 2014-05-21
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多