web-dev-qa-db-ja.com

変更したファイルや新しいファイルをxcopyする方法はありますか?

私は自分のデスクトップから自分のWebサーバーにWebサイトを配置しようとしているので、今私はこれをやっています:

 xcopy C:\source X:\destination /s

私のデスクトップはWindows XPマシンなので、Windows Server 2008マシンにコピーする必要がありますが、これですべてがコピーされ、サイト全体が非常に大きくなり、コピーを完了するには本当に長い時間がかかります。

特に新規または更新されたファイルを単にコピーする方法はありますか?変更日を渡すことができるように見えますが、宛先ファイルと比較するためのより簡単な方法があるかどうかを確認したいのですが….

また、私はxcopyの外でもその仕事をすることができる何かを使うことに寛容です...

55
leora

XCOPYのドキュメントから

/ d [:mm-dd-yyyy]:指定した日付以降に変更されたソースファイルだけをコピーします。 mm-dd-yyyyの値を含めないと、xcopyは既存のコピー先ファイルより新しいコピー元ファイルをすべてコピーします。このコマンドラインオプションを使用すると、変更されたファイルを更新できます。

だから、あなたの例では、それは読むべきです:

xcopy C:\source X:\destination /s /d
95
Mark

Robocopy も良い方法です。

デフォルトでは、コピー元とコピー先のタイムスタンプやファイルサイズが異なる場合にのみ、Robocopyはファイルをコピーします。

さらに、もっとたくさんのことができます - ファイルを削除しているウェブサイトにはmirrorコマンドが便利です。

24
Matt

/ Aオプションを使用してください。すべての新規ファイルまたは変更されたファイルにはアーカイブ属性が設定されています。

詳細については、以下のリンクを確認してください。

Xcopyコマンドの構文と例

3
Giri

私は以下のタスクを〜80kのファイルと〜2kのフォルダに対して予定しています。

xcopy \\sourceserver\share\ Q:\backuptarget\folder\ /i /d /y /he /C /EXCLUDE:C:\backup\list.txt > C:\backup\backup.log

/ Cオプションは、ファイルまたはフォルダが開かれているか、このスケジュールされたタスクを実行するサービスアカウントでアクセス許可がないためにファイルまたはフォルダへの "アクセスが拒否された"場合でもコピーを続行します。

追加したい場合は ">"を使用して ">"パイプで上書きすることができます。

2
user59725

rsync がありますが、私はWindowsでは使っていません。私がLinuxで普通に使う方法は:

rsync -avuz src/ remote:dst/

これは更新(新しいファイルと変更されたファイル)のみを送信します。

0
jcomeau_ictx