从命令行FTP - 不要覆盖现有文件

时间:2015-12-07 22:54:44

标签: cmd ftp transfer skip

在Windows 7上工作,我可以使用终端(ftp)命令将文件上传到我的服务器:

mput "Data\W*"

这会覆盖服务器上的现有文件。

我被告知可以使用skip参数跳过覆盖。

当我尝试以下

mput "Data\W*" skip 

文件仍然被传输/覆盖,之后我收到消息

  

跳过:找不到文件

我在尝试-skip--skip时收到相同的消息。谁能看到我出错的地方?

1 个答案:

答案 0 :(得分:0)

无法使用Windows ftp.exe跳过现有文件。

mput命令仅接受通配符列表。没有像skip旗帜那样的东西。

参见[mput参考](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/ftp-mput_1

如果您需要此功能,则需要使用其他Windows命令行FTP客户端。

例如WinSCP FTP client使用scripting functionality,您可以使用以下批处理文件(.bat):

winscp.com /log=C:\path\winscp.log /command ^
    "open ftp://username:password@example.com/" ^
    "synchronize remote Data -filemask=W* -criteria=none" ^
    "exit"

-criteria=none将使WinSCP仅考虑用于同步的不存在文件。默认情况下,它还会同步现有但较新的文件。

参考文献:

(我是WinSCP的作者)