アプリ版:「スタンプのみでお礼する」機能のリリースについて

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件)

「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 にしておくとコピー速度が上がります。次に、□ エラー時継続、□ ベリファイ、□ 予測 にチェックを入れておくと、エラー時にもコピーを停止せず継続実行し、コピー内容の確認(ベリファイ)が得られ、且つ、コピー完了までの予測時間を表示してくれます。ベリファイは、終了時のコピー先の内容が保証されます。なお、ベリファイにチェックをいれると、その分のコピー終了までの時間が長くなります。
・ジョブ管理:コピー処理を登録しておけます。現在表示している処理の状態で、「ジョブ管理」 を選んで "ジョブ管理/登録/削除" をクリックすると、「ジョブ名」 を入力できます。「登録・更新」 選ぶと 「ジョブ管理」 に登録し、「削除」 を選ぶと 「ジョブ管理」 から削除されます。予め作業を登録しておけば、素早くコピー作業を始められます。

これはバックアップや単純なデータの移植等に利用しています。流石に一つや二つのファイルのコピーには使いませんが、フォルダ単位のコピーには必ずこれを使っています。ベリファイがあるのが助かっていますね。また、ジョブ管理が便利で、コピーをセットして終了するまで放置できるのが良いと思います。
    • good
    • 0
この回答へのお礼

有難うございます。
お詳しい解説感謝申し上げます。
頂いた内容で、全てのオプションの意味が把握でき理解が深まりました。mm

そこまで強大なデータをコピーすることはあまりないのですが、機会がありましたら、FastCopyを試してみたいと思います。
とても奥が深そうですね…。
有難うございました。

お礼日時:2023/10/12 17:23

robocopyは大きなコマンド(引数が沢山有って...)のため、最初の取り扱いにはweb上で"使い方"をキーワードに検索したり、プロンプト上で"robocopy /?"でマニュアルを参照したりするのが良いでしょう。



●...と一部変更?されて、確認の内容が表示される...
前述のとおりrobocopyは大きなコマンドですから、指定されていない引数(オプション)について「デフォルトである"xxxxx"を使いますよ(指定されたと見なしますよ。)。」と言っているにすぎません。

●...全て大文字で指定(表示)...
コマンドプロンプトに対し実行させるコマンドは(及び引数は)大文字/小文字の区別がされません。大昔のMS-DOSの時代からMicrosoftの法律です。ですから"ROBOCOPY"も"robocopy"も同様にエラーなしに解釈されます。少なくともコマンドが何かのメッセージやエラーを表示するときは全て大文字で表示する、と決められているだけだと思います。

●...指定が足りなかったり、逆にこれは不要など...
恐らくバッチファイルなどで実行されているのでしょうから、少なくとも/COPY:DAT, /PURGE, 等の実行時のメッセージに表示された引数は追加しておけば良いのではないでしょうか。
    • good
    • 0
この回答へのお礼

有難うございます。
なるほど、基本小文字でも問題無いのですね、確かに実行はできております。

>>少なくとも/COPY:DAT, /PURGE, 等の実行時のメッセージに表示された引数は追加しておけば良いのではないでしょうか。
足りない記述は追加してみました、特に動きに変化はないみたいですが、ファイルについてもタイムスタンプを取得するみたいで、こちらの書き方が安心そうです。
有難うございます。

お礼日時:2023/10/12 17:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A