我需要将FTP文件夹的所有文件复制到本地Windows文件夹,但不替换已存在的文件。这需要是每小时无人值守的工作/任务。
这就是工作需要做的事情: 1.连接到FTP服务器。 2.在ftp中,移动到文件夹/ var / MyFolder。 3.在本地PC中,转到c:\ MyDestination。 4.复制/ var / MyFolder中c:\ MyDestination中不存在的所有文件。 5.断开连接。
我之前使用 MGET * (从.bat运行)尝试了以下脚本,但它会复制并覆盖所有内容。这意味着即使先前复制了1000个文件,它也会再次复制它们。
open MyFtpServer.com
UserName
Password
lcd c:\MyDestination
cd /var/MyFolder
binary
mget *
感谢任何帮助。
感谢。
答案 0 :(得分:1)
如果要包含子目录(根据实际远程路径的深度调整cut-dirs
号码):
cd /d C:\MyDestination
wget.exe --mirror -np -nH --cut-dirs=2 ftp://UserName:Password@MyFtpServer.com/var/MyFolder
如果您不想要子目录:
cd /d C:\MyDestination
wget.exe -nc ftp://UserName:Password@MyFtpServer.com/var/MyFolder/*
“magic”位(对于第二种形式)是-nc
选项,它告诉wget
不要覆盖本地已存在的文件。请记住,旧文件也是单独存在的,因此如果FTP服务器上的文件被编辑或更新,则不会重新下载。如果您还要更新文件,请使用-N
代替-nc
。
(请注意,您也可以键入wget
而不是wget.exe
,我只是在扩展名中指出这些是Windows批处理文件命令)