バッチファイルを使用してサーバー上のフォルダーからファイルをコピーしようとしていますが、宛先フォルダー内のファイルを上書きしたくありません。これは私が持っているものです:
set /p address=ip address:
pause
pscp -pw "password" "username"@%address%:/folder path/* c:\folderpath
これは機能しますが、実行すると、宛先フォルダー内のファイルが上書きされます。すでに宛先フォルダーにあるファイルをスキップする方法はありますか?
SCPプロトコルはそれほど洗練されていません。送信側は、ファイルとディレクトリを盲目的に受信側にのみ送信できます。宛先のファイルの上書きを回避するための標準オプションはありません。
コメントのように、SFTPやrsyncなどのより洗練された転送プロトコルを検討する必要があります。
それらのコメントからのTL; DRの回答:
rsync -e ssh --ignore-existing server.xxx.com:/path/\* /destination/path
さらに良いことに、サーバーがCIFS(「ネットワーク共有」)もサポートしている場合は、それをcp -u
で使用します。