有没有办法在使用 pscp 时不覆盖现有文件?

有没有办法在使用 pscp 时不覆盖现有文件?

我正在尝试使用批处理文件从服务器上的文件夹复制文件,但是我不希望覆盖目标文件夹中的文件。这是我的情况:

set /p address=ip address:
pause
pscp -pw "password" "username"@%address%:/folder path/* c:\folderpath

这种方法虽然有效,但运行时会覆盖目标文件夹中的文件。有没有办法让它跳过目标文件夹中已有的文件?

答案1

SCP 协议并不复杂。发送方只能盲目地将文件和目录发送给接收方。没有标准选项可以避免覆盖目标上的文件。

您应该查看更复杂的传输协议,例如评论中的 SFTP 或 rsync。

答案2

这些评论的 TL;DR 答案是:

rsync -e ssh --ignore-existing server.xxx.com:/path/\* /destination/path

更好的是,如果服务器还支持 CIFS(“网络共享”),则可以使用它cp -u

相关内容