web-dev-qa-db-ja.com

robocopyを使用したすぐに使用できるWindowsスクリプトはどこにありますか?

Windowsリソースキットをインストールすると、RoboCopyがインストールされます。 RoboCopyを使用するいくつかのWindowsスクリプトにアクセスして、それらから始めて別のスクリプトを作成できるようにします。いくつかのサンプルをどこで見つけることができるかについてのアイデアはありますか?

注1:注1:

ちょっとした情報。 DドライブをEドライブ(新しいドライブ)にコピーしようとするたびに、次のようなエラーが発生します。

エラー32(0x000000020)ファイルd:\ pagefile.sysをコピーしています別のプロセスによって使用されているため、プロセスはファイルにアクセスできません。 30秒待っています。

それを理解するのを助けるためだけに。

1
Geo

Robocopyを使用して、9つのWebサーバー間でWebサイトのコンテンツを同期しました。これは、robocopy.exeを実行したバッチファイルのサンプルです。このバッチファイルは、5分または10分ごとに実行するようにスケジュールされていました。または、手動で実行して変更をすぐにプッシュすることもできました。

robocopy.exe d:\inetpub\wwwroot\ \\webserver1\d$\inetpub\wwwroot\ *.* /E /PURGE /SEC /NP /NJH /NJS /XF keepalive_*.* /XD trigger /XD "D:\inetpub\wwwroot\Long Path Name" /R:5 /COPYALL /LOG:copy_to_webserver1.log

前のコマンドは、d:\ inetpub\wwwrootのコンテンツをコピーし、それをリモートサーバーのd:\ inetpub\wwwrootにプッシュします。

/ E =空のサブディレクトリを含むすべてのサブディレクトリをコピーします
/PURGE =ソースに存在しなくなった宛先ファイル/フォルダーを削除します
/SEC =ファイルのセキュリティアクセス許可(ACL)を宛先の場所にコピーします
/NP =コピープログレスバーをオフにします。結果をログに記録する場合は、必ずこれを実行してください
/NJH =ジョブヘッダーをログに記録しない
/NJS =ジョブの概要をログに記録しない
/XF =特定のファイルのコピーを除外します(例:keepalive _
/XD =特定のフォルダのコピーを除外する(例:トリガー)
/R =コピーが失敗した場合に再試行する回数を指定します(例:5)
/COPYALL =すべてをコピーします:データ、属性、タイムスタンプ、セキュリティ、所有権、監査情報。/SECを指定してから本当にやり過ぎ
/LOG =結果を指定されたログファイルに記録します(例:copy_to_webserver1.log)

これでRobocopyを始められることを願っています。コンテンツの同期を維持するための信頼性が高く、非常に堅牢なソリューションであることがわかりました。

5
Marcus

スクリプトはありませんが、組み込みのドキュメントは非常に理解しやすく、非常に便利です。

robocopy /? | more
2
tomfanning

リンクされた script は、開いているファイルをコピーするために使用できるテンプレートです。スクリプトのcopyコマンドをrobocopyに変更するだけで、開いているファイルをrobocopyすることができます。

0
Walter

とてもシンプルなので、ほとんどの人が最初から自分でやっています。私は「コードサンプル」を見たことがありません。基本的にはどこからどこへ、いくつかのパラメータがスローされているだけです...しかし、そこにあるさまざまなrobocopy GUI(グーグルだけ)を見てください。それらのほとんどは生成されたコマンドが表示されます。

0
Trondh

したがって、Trondhへのコメントを見ると、スケジュールされているRoboCopyスクリプトがいくつかありますが、これを実現する方法は(とにかく私が)スケジュールされたタスクを介して行われます。例として、指定したパラメーターを使用してドライブX:からドライブY:にファイルをコピーするRoboCopyスクリプトがあります。次に、指定した間隔でこのスクリプトを実行するようにスケジュールされたタスクを作成します。このスクリプトの監視が心配な場合は、定期的に確認したい場合は、出力ログを自分自身に電子メールで送信するタスクの2番目のステップを作成できます。

0
Charles

ポイントaからポイントbに1つのフォルダーをコピーするだけで、小さく始めます。必ず/ Lスイッチと/ LOGスイッチを含めてください。/Lスイッチは、コピーしたファイルを一覧表示するだけで、/ Logはログを作成するため、コピーしたいものを確認できます。そこから、複雑さが増します。スクリプトの例:

robocopy "C:\ test_source" "\ server01\C $\test_destination"/L/V/E/LOG: "c:\ test_robocopy.log"/R:10/W:30

0
Fishwalker

2番目の問題(ロックされたファイルのエラーとその後の待機)を解決するには、スイッチ/r/w、および/regを使用します。次に例を示します。

robocopy D:\ E:\ /r:1 /w:1 /reg  

これは、rw1秒待ってから1回だけetryすることを意味しますこれらの設定は、registryのデフォルトです。

0
nray