
Windows10上で、データのコピー、ミラーリングを行うコマンドを色々と調べながら設定してみました。
行いたいことは、増分 、差分のデータを同期した状態で完全一致で取得したいです。
属性やタイムスタンプ、空のファイルやディレクトリも同じ状態でです。
その際に、色々と組み合わせて以下の内容で試してみたのですが、それらしくコピーできているのですが、あまり自信が無く、お詳しい方ご指摘頂けないでしょうか?
robocopy dir1 dir2 /s /e /r:1 /w:1 /mir /dcopy:dat
↑なお、このコマンドを実行するとプロンプト上で
オプション: *.* /S /E /DCOPY:DAT /COPY:DAT /PURGE /MIR /R:1 /W:1
と一部変更?されて、確認の内容が表示されるのですが…。
また、全て大文字で指定されています。
指定がおかしいのでしょうか?基本は全てオプションは大文字で指定するのが正しいのでしょうか?
必要な指定が足りなかったり、逆にこれは不要などありましたらご教授頂得ないでしょうか。
宜しくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
「Robocopy」 は、色々な機能があって便利ですよね。
Robocopyの基本動作とコマンドオプション解説
https://n-archives.net/software/robosync/article …
下記も詳しそうですが、2 頁以降は会員でないと読めないようです。読みたければ無料会員になれば可能です。
「robocopy」でフォルダーをミラーリング、同期処理でコピーの手間を省く
https://xtech.nikkei.com/atcl/nxt/column/18/0248 … ← 1~7 頁あります。
コマンドの説明:
Robocopy ・・・
コピー元フォルダ コピー元フォルダを指定します。
コピー先フォルダ コピー先フォルダを指定します。
/S サブディレクトリをコピーしますが、空のディレクトリはコピーしません。
/E 空のディレクトリを含むサブディレクトリをコピーします。
/COPY:コピーフラグ ファイルにコピーする情報を指定します。(既定値は /COPY:DAT)
/DCOPY:コピーフラグ ディレクトリにコピーする情報 (既定値は /DCOPY:DAT)。
/PURGE コピー元に存在しないコピー先のファイル・フォルダを削除します。
/MIR ディレクトリ ツリーをミラー化します (/E /PURGE と同等)。
/R:n 失敗したコピーに対する再試行数: 既定値は 1,000,000。
/W:n 再試行と再試行の間の待機時間: 既定値は、30 秒です。
ANo.1 さんも書かれていますが、大文字と小文字の区別は無いようです。
同じような機能で GUI を持たせた 「FastCopy」 と言うフリーソフトがあります。これは、メインメモリをバッファに使ってコピーを行うもので、高速かつ安全にコピーを行います。「Robocopy」 のように同期コピーも可能で、同じファイル名で変更がないものはコピーしませんし、フォルダを先所することもできます。多分ご存知ではないかと思います。
サイズの大きいファイルでも、高速にコピーすることができる!「FastCopy」。
https://www.gigafree.net/utility/move/fastcopy.h …
・コピーの機能:デフォルトの画面では、"差分(サイズ・日付):同一ファイル名がある場合、サイズ・日付が違う場合に上書きコピーします" になっていて、コピー元とコピー先を指定すれば、新しいファイルや更新されたファイルだけをコピーします。100GB や 500GB でも任せておけば、問題なくコピーしてくれます。
※転送先のディレクトリの末尾に 「\」 を付けるフォルダを丸ごと転送、付けないとフォルダの中身を転送します。
・設定のポイント:「設定」 から 「一般設定」 を選び、"Buffer" の設定をメモリ容量に応じで設定します。デフォルトは 64MB ですが、メモリに余裕がある場合は 256MB や 512MB にしておくとコピー速度が上がります。次に、□ エラー時継続、□ ベリファイ、□ 予測 にチェックを入れておくと、エラー時にもコピーを停止せず継続実行し、コピー内容の確認(ベリファイ)が得られ、且つ、コピー完了までの予測時間を表示してくれます。ベリファイは、終了時のコピー先の内容が保証されます。なお、ベリファイにチェックをいれると、その分のコピー終了までの時間が長くなります。
・ジョブ管理:コピー処理を登録しておけます。現在表示している処理の状態で、「ジョブ管理」 を選んで "ジョブ管理/登録/削除" をクリックすると、「ジョブ名」 を入力できます。「登録・更新」 選ぶと 「ジョブ管理」 に登録し、「削除」 を選ぶと 「ジョブ管理」 から削除されます。予め作業を登録しておけば、素早くコピー作業を始められます。
これはバックアップや単純なデータの移植等に利用しています。流石に一つや二つのファイルのコピーには使いませんが、フォルダ単位のコピーには必ずこれを使っています。ベリファイがあるのが助かっていますね。また、ジョブ管理が便利で、コピーをセットして終了するまで放置できるのが良いと思います。
有難うございます。
お詳しい解説感謝申し上げます。
頂いた内容で、全てのオプションの意味が把握でき理解が深まりました。mm
そこまで強大なデータをコピーすることはあまりないのですが、機会がありましたら、FastCopyを試してみたいと思います。
とても奥が深そうですね…。
有難うございました。
No.1
- 回答日時:
robocopyは大きなコマンド(引数が沢山有って...)のため、最初の取り扱いにはweb上で"使い方"をキーワードに検索したり、プロンプト上で"robocopy /?"でマニュアルを参照したりするのが良いでしょう。
●...と一部変更?されて、確認の内容が表示される...
前述のとおりrobocopyは大きなコマンドですから、指定されていない引数(オプション)について「デフォルトである"xxxxx"を使いますよ(指定されたと見なしますよ。)。」と言っているにすぎません。
●...全て大文字で指定(表示)...
コマンドプロンプトに対し実行させるコマンドは(及び引数は)大文字/小文字の区別がされません。大昔のMS-DOSの時代からMicrosoftの法律です。ですから"ROBOCOPY"も"robocopy"も同様にエラーなしに解釈されます。少なくともコマンドが何かのメッセージやエラーを表示するときは全て大文字で表示する、と決められているだけだと思います。
●...指定が足りなかったり、逆にこれは不要など...
恐らくバッチファイルなどで実行されているのでしょうから、少なくとも/COPY:DAT, /PURGE, 等の実行時のメッセージに表示された引数は追加しておけば良いのではないでしょうか。
有難うございます。
なるほど、基本小文字でも問題無いのですね、確かに実行はできております。
>>少なくとも/COPY:DAT, /PURGE, 等の実行時のメッセージに表示された引数は追加しておけば良いのではないでしょうか。
足りない記述は追加してみました、特に動きに変化はないみたいですが、ファイルについてもタイムスタンプを取得するみたいで、こちらの書き方が安心そうです。
有難うございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBAでフォルダ内の全テキストファイルの任意データを取得について 7 2021/12/18 16:00
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- Visual Basic(VBA) VBA シート名が一致した場合の転記内容について 2 2021/11/15 13:07
- Visual Basic(VBA) 転記VBA エラーが出ます 2 2021/11/15 16:08
- Visual Basic(VBA) 転記先VBA 一致しているセルがコピーされない 5 2021/11/15 17:23
- その他(Microsoft Office) エクセルの数式で教えてください。 3 2021/12/21 09:20
- Word(ワード) Word差し込み印刷で、ハガキ宛名面作成設定後 文字データが見えない 2 2021/11/20 23:47
- UNIX・Linux Windowsのローカルディレクトリとサーバー上のデータを同期できますか? 2 2023/09/13 20:42
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- PowerPoint(パワーポイント) パワーポイント2019 図の透明化についてお教え下さい。 1 2021/11/07 11:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dirコマンドでフォルダ内ファイ...
-
ファイル名についている「-」と...
-
ファイル名一覧の印刷
-
OSローダの動きが変になって...
-
ラズパイで『’test.service’をs...
-
MOS-DOSって何ですか???
-
cat でファイルの拡張子を指定
-
solaris上のディレクトリをwind...
-
パイプの最後に、クリップボー...
-
DVDの中身を確認したい
-
[vi]エディタ;ファイルを開く...
-
knoppixのブータブルCDを作りたい
-
「msconfig」が見つからない。
-
automatorでファイル名のみ取得
-
数字を複数回繰り返す正規表現...
-
MS-DOSプロンプトって何に使うの?
-
ms-dosについて
-
設定をしてもファイルの関連付...
-
DOSで違う階層のファイルまでも...
-
windows上のファイルをlinuxの/...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dirコマンドでフォルダ内ファイ...
-
テキストファイルから最終行の抽出
-
ラズパイで『’test.service’をs...
-
ファイル名についている「-」と...
-
ファイル名一覧の印刷
-
ファイル名の -(ハイフン)を _(...
-
batファイルの強制終了を回避し...
-
DOSコマンドのFOR文で空白を含...
-
数字を複数回繰り返す正規表現...
-
ftpコマンドで丸ごとダウン...
-
DOS コマンドの~zfの意味を教え...
-
xcopyのエラー情報のはき...
-
~以外を削除する場合(rmコマ...
-
oracleの文字コードとlinuxサー...
-
win11のエクスプローラーの右ク...
-
FTP接続時の文字化け(CentOS6.5)
-
特定の更新日付のファイルのみ...
-
Linuxで標準出力したファイルの...
-
lsでは一画面ずつ表示できませ...
-
Windowsバッチファイルで、隠し...
おすすめ情報