使用批处理文件将文件移动到 FTP 并删除源文件

使用批处理文件将文件移动到 FTP 并删除源文件

我需要创建批处理脚本,用于将文件从 PC 复制到 FTP 服务器。复制后 - 从源中删除所有文件。并在目标目录中覆盖所有现有文件。

我找到了很多解决方案,但不确定哪一个最适合我。例如XCOPY,或使用诸如、、、 、ROBOCOPY等命令的经典方法...ftpcdcopymget

ROBOCOPY似乎是最好的选择,但我认为它不支持 FTP。XCOPY是较旧的方法,...

毕竟这将是定期安排的任务......

谢谢你的建议。

答案1

robocopy并且xcopy仅处理本地文件。


使用ftp,您可以使用本地命令上传然后删除源文件del

ftp -s:upload.txt
del *.*

但是,只有真正成功上传的文件才会被删除,这种方式很难实现。上面的批处理文件将删除所有文件,无论其中一些文件是否上传失败,或者其中一些文件是在 和 之间创建ftpdel


但大多数第三方 FTP 命令行客户端都可以轻松做到这一点。例如,WinSCP FTP 客户端,您可以简单地使用以下批处理文件(使用put命令使用-delete开关):

winscp.com /ini=nul /log=upload.log /command ^
    "open ftp://username:[email protected]/" ^
    "put -delete C:\local\source\path\* /remote/target/path/" ^
    "exit"

关于时间安排:参见WinSCP 指南:安排传输到 FTP 服务器

(我是 WinSCP 的作者)

相关内容