web-dev-qa-db-ja.com

pscpを使用するときに既存のファイルを上書きしない方法はありますか?

バッチファイルを使用してサーバー上のフォルダーからファイルをコピーしようとしていますが、宛先フォルダー内のファイルを上書きしたくありません。これは私が持っているものです:

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

これは機能しますが、実行すると、宛先フォルダー内のファイルが上書きされます。すでに宛先フォルダーにあるファイルをスキップする方法はありますか?

3
jhast1

SCPプロトコルはそれほど洗練されていません。送信側は、ファイルとディレクトリを盲目的に受信側にのみ送信できます。宛先のファイルの上書きを回避するための標準オプションはありません。

コメントのように、SFTPやrsyncなどのより洗練された転送プロトコルを検討する必要があります。

2
Kenster

それらのコメントからのTL; DRの回答:

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

さらに良いことに、サーバーがCIFS(「ネットワーク共有」)もサポートしている場合は、それをcp -uで使用します。

1