2011-08-01 15 views
1

robocopyでファイルをコピーしてディレクトリ名を指定すると、robocopyはディレクトリをファイルとして扱うようです。私は指定されたファイルとディレクトリの組み合わせでバットファイルを持っています。Robocopyでファイルとディレクトリの組み合わせをコピーする

set "udate=%date:~6,4%%date:~0,2%%date:~3,2%" 
set working="c:\inetpub\wwwroot\portal" 
set live="c:\inetpub\wwwroot\live"    

robocopy %working% %live% addpages.php /e /ndl /MAXAGE:%udate% 
robocopy %working% %live% images /e /ndl /MAXAGE:%udate% 

ファイルおよびディレクトリのbatファイルにrobocopyを60回以上呼び出します。示されているサンプルでは、​​addpages.phpはファイル、imagesはディレクトリです。 robocopyはディレクトリをコピーするにはもっと情報が必要ですか?

答えて

1

あなたはそれを幾分後方に持っています。 Robocopyはまずフォルダを扱います。robocopy %working% %live% imagesではなく、robocopy %working%\images %live%\imagesのようなソースフォルダと保存先フォルダを指定する必要があります。

http://en.wikipedia.org/wiki/Robocopy#Common_usage_scenarios

そして私はダブルチェックし、これを持っていると思いますが、また、ファイル指定(addpages.php /e)を供給しながら、再帰的なコピーを行う場合、私はわからないんだけど、実際にあなたがやりたいだろう。

基本的に、robocopyは一度に多数のファイルとフォルダを1つのコマンドでコピーすることを目的としており、ディレクトリツリー内の特定のアイテムをコピーするためのものではありません。

+0

私はそれを知っています。標準的なコピーコマンドでは、日付を指定することができません。 robocopyの前に、そのbatファイルにxcopyコマンドがありました。しかし、指定された日付以降に変更されたファイルをコピーすることは信頼できませんでした。それをする別のコマンドがありますか? – user823527

+0

これを行うには、xcopyが_supposed_です。 http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/xcopy.mspx "'/d [:mm-dd-yyyy] ':変更されたソースファイルをコピーします。 mm-dd-yyyyの値を指定しない場合、xcopyは既存のDestinationファイルより新しいすべてのSourceファイルをコピーします。このコマンドラインオプションを使用すると、変更されたファイルを更新できます。 – JAB

+0

つまり、xcopyは技術的にあなたが望むことをするため、xcopyに提供していた引数に問題があるかどうかを確認することができます(たとえば、 '/ d'を使用しているかどうか確認してください) '/ h'や'/r'が必要であるかどうかを確認してください)、問題がなければ、該当するファイルの「Date Modified」メタデータが変更されたときに正しく更新されているかどうかをチェックします。 – JAB

関連する問題