• 締切済み

2台のHDDを最短時間で同一比較する方法

フォルダ構成とファイルが同じ 2台のUSB接続のハードディスクがあります。 2台のハードディスクのデータが同一であることを、 比較ツールで確認していますがかなり時間がかかります。 このような場合、ファイルのすべてのデータを比較すると、 非常に時間がかかるため、あらかじめ、元のファイルの ハッシュ値をXMLファイルにスナップショットとして用意しておき、 検証するファイルとこのスナップショットを比較すると 効率的であり、このようなツールとして、 File Checksum Integrity Verifier utility というソフトウェアがあるそうなので、 試してみたのですが、 このソフトウェアの使い方がよく分かりませんでした。 2台のハードディスクのデータが同一であることを 確認するための具体的な確認の仕方を、 以下の【簡略化した具体例】で教えていただけないでしょうか。 【簡略化した具体例】 ・2台のハードディスクはEドライブとFドライブにあるとします。 ・この2台のハードディスクには、同じデータが入っていて、  ルートにROOTというフォルダがあり、  ROOTフォルダの中にAというフォルダがあり、  Aフォルダの中にBというフォルダがあるとします。  また、Aフォルダの中にaというファイルがあり、  Bフォルダの中にbというファイルがあるとします。  E:\ROOT-\A-\B       | |       a b  F:\ROOT-\A-\B       | |       a b 【回答例】 1)コマンドプロンプトで、   fciv -add E:\ROOT -r -xml x   と入力して、Enterキーで実行して、   Eドライブの全ファイルのハッシュ値を記録したxというファイルを作成する。 2)コマンドプロンプトで、   fciv -v F:\ROOT -r -xml x  と入力して、Enterキーで実行して、  Fドライブの全ファイルのハッシュ値とxファイルのハッシュ値を比較する。 3)すべて一致していれば、  All files verified successfully  と表示されるが、  いずれかのファイルが一致していなければ、  All files verified successfully  とは表示されず、そのファイルとハッシュ値が表示される。 (補足)この回答例ではうまくいきません。

みんなの回答

  • t_hirai
  • ベストアンサー率27% (162/594)
回答No.1

Windowsのソフトで、「ファイルリスト作成機」というソフトがあります。 http://www.vector.co.jp/soft/win95/util/se082901.html これを使うと、指定フォルダ以下の情報をCSVに出力してくれるので、 E,Fの全情報をCSVにして、エクセルでVLOOKUPなどで比較するというのはどうでしょうか。 「具体的に説明」はめんどくさいので、ファイルリスト作成機を使ってもらって、 解らないことがあれば答えるというふうにさせてください。 ちなみに、現在どれくらい時間がかかっているのですか?

yam2012
質問者

お礼

File Checksum Integrity Verifier utility を使った方法で対処することができましたので クローズさせていただきます。 ありがとうございました。

yam2012
質問者

補足

>ちなみに、現在どれくらい時間がかかっているのですか? HDDのファイルの量にもよりますが数時間~数日程度かかっています。 > ファイルリスト作成機を使ってもらって、 > 解らないことがあれば答えるというふうにさせてください。 了解しました。 2台のHDDの内容が一致していることを短時間で確認できるのであれば、 質問の中のソフトウェアでなくてもいいですし他の方法でもかまいません。 なお、「ファイルリスト作成機」を実行して確認していましたが、 ファイルのバイナリデータ(中身)を比較する部分が、 見えてこなくてよく分かりませんでした。 念のための確認ですが、 2台のHDDの内容はコピーしているので、コピー直後は、 メタデータ(ファイル名、日付、サイズ、フォルダ構成)も、 バイナリデータ(中身)も一致していると思いますが、 経年変化などで、メタデータは正しく、表示(画像ファイル)や 実行(実行ファイル)も、一見、正常に見えても、 ファイル内の1ビットだけが化けてしまっている場合もありえますが、 このような場合でも検出は可能なのでしょうか。

関連するQ&A

  • ハードディスクへの保存方法について。ハードディスクに良い方法を。

    ハードディスクの保存について、初歩的なことなのですが教えて下さい。 関連性のあるフォルダを作って保存する事は常識なのでしょうが。 例えばの話ですが、100個のファイルがあった際 『100個のファイルを保存するのに、ハードディスクの中に2個位のフォルダA、Bを作り、A、Bのフォルダの中に、さらに、フォルダC、D、Eを作り、さらに、その中にF、Gなどのフォルダを作り、ファイルを保存する方法』 と 『100個のファイルを保存するのに、ハードディスクの中にA,B,C,D,E,F,Gと言うフォルダを作り、そのなかにファイルを保存する方法』 とどちらの方がハードディスクやパソコンに負担をかけない方法なのでしょうか? また、あまり負担は変わりないものなのでしょうか? 基本的なことで申し訳ないのですが宜しくお答えお願いします。 というフォルダを作り例えば保存する際に、

  • 時間の比較

    String型の変数 a ~f  があるとします。 a = 時間1 b = 分1 c = 秒1 (a時b分c秒) d = 時間2 e = 分2 f = 秒2 (d時e分f秒) これら2つを比較して時間の早いほうを見つけようとしていますがなかなかうまくできません。 Dateクラス、Calenderクラス、TimeStampクラスいろいろ使って見たんですが・・ 何かいいアイディアありませんか? やはり一つ一つ時間同士、分同士比較していくのが一番手っ取り早いのでしょうか? いいメソッドなどあれば教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • HDDから別のHDDへデータを移す方法

    ・データの移動先のPC: Windows7 64bit Ultimate ・データの移動元のPC: VISTA biz, XP pro 接続は、SATA-USB3.0変換ケーブルを使用し、 「外付けドライブ---パソコン」 のような形で接続。 (※データ移動元のHDDは、いったん、PCケースから取り外す。) ----- さて、質問です。 パソコンAの内臓HDD(Cドライブ、Dドライブ)を、 パソコンBの内臓HDDに移したいと思い、 単純に、ドライブ(フォルダ)をドラッグ&ドロップ(つまり、コピー)する形で試みたのですが、 この方法だと、「ボリュームにリンクを作成する」のようになってしまい、 ちゃんとデータがコピーされませんでした。 (エイリアス[ショートカット]が作られてしまうような感じ。) では、どうやったら良いのでしょう? Windows OSの標準機能 バックアップと復元 を使い、 とりあえず、パソコンAのCドライブとDドライブを、 パソコンB上で、Eドライブ、Fドライブとして読み込み、 それらを、パソコンBのDドライブにバックアップした後、 さらに、それらをそれぞれパソコンBのDドライブ上に復元する形で、 データの引越しを完了させてみましたが、なんだか釈然としません。 (一応、データは移せました。) 次に、3台目のパソコンでありますパソコンCのCドライブのデータも、 パソコンBに移したいと思い、同様の方法、つまり、 バックアップと復元を使う方法で試みたのですが、 今度は別の問題が発生してしまい、これまた釈然としません。 どういう問題かと言いますと、 パソコンAとパソコンBとの接続を解除し、 パソコンCをパソコンBに接続したところ、 パソコンCのCドライブが、パソコンB上では、『Eドライブ』として読み込まれてしまい (当たり前の話ですが。苦笑)、 これだと、 パソコンAをパソコンBにつないだ時に『Eドライブ』として読み込まれた「パソコンAのCドライブ」と、 ごっちゃになってしまうのです。 つまり、 パソコンCのCドライブも、 パソコンAのCドライブも、 どちらも、パソコンBに、つないだ時には、 『Eドライブ』として読み込まれてしまうのです!(当たり前の話ですが!) 私としては、 新たに、パソコンCのCドライブをバックアップした後には、 パソコンAのバックアップ後に、パソコンBのDドライブ上に出来上がった、 「Eのバックアップ、Fのバックアップ (といった表記)」 のほかに、 「Gのバックアップ」とか、 「E(2)のバックアップ」とかが作成されていれば、 その方が見た目に分かりやすいため、嬉しかったのですが、 実際には、 「Eのバックアップ、Fのバックアップ」 のままで、一瞬、上書きしちゃったのか!? と焦りました。 実際には、上書きはされておらず(?)、 追加(?)のような形で、バックアップは一応、成功したようなのですが、 不思議と、そのバックアップの中身を見ても、 外見上、フォルダ等には、大して変化は無さそうでした。 追加的にバックアップを試みたのに、 なぜ変化が無いんだ?! と思い、 試しに、実在するファイル名を入力して「検索」する方法で、 ちゃんとバックアップされたのかどうかを確認してみたところ、 ちゃんと成功していました。 しかし、そのファイルをフォルダをクリックする形(つまり、階層を下に下に追っていく方法)では、 なぜだか、そのファイルは表示されないのです。 (ファイルを、フォルダの中の、フォルダの中の、、、と追っていきたいのですが、 途中で、あるべきフォルダが表示されないため、それ以上、終えなくなる。) というわけで、釈然としないことだらけで困っています。 質問をまとめますと、 (1)単純に大量のデータを移す方法。 (システムの移行という話ではなく、あくまでデータをそのまま移したい。) (2)OSの機能「バックアップと復元」における、異なる2つのEドライブの扱い。 これらについて片方だけでも結構ですので、 どなたかヒントをください。よろしくお願いします。 (以上、分かりにくい文章で、すみません。)

  • HDDのバックアップ質問です

    今回、OSは関係ないかも知れませんが ビスタを使用なんですが 私は現在、メインを外付けHDDに保存 しかし、容量の関係で 普段はDドライヴにバックアップを取ってるんですが 上書き保存のシステム(?)に関する質問です 結論から言うと、全てが上書きでの反映では無いのか? と言う事なんですが 先日の事です、以前Dドライヴに あるフォルダをバックアップしており これが約1ギガ位でした それで、Cドライヴで同フォルダ内の余計なファイルを削除 5ギガ位に減らし、それをドラックでバックアップしました ところが、何回実行しても Dドライヴ内での容量が5ギガに、ならず フォルダ内を確認しても反映されてなかったんです 以前は、この方法で実行した所 反映されて、今回で言う所の5ギガに減ったんですが… この詳細は、例えば今、Cドライヴに 「あ」という名前のフォルダが、あり その中に「A」「B」「C」「D」という名の ファイルがあるとします その場合、バックアップをDドライヴに取る場合 そのままドラックすれば Dドライヴ内にも「あ」というフォルダと その中に「A」「B」「C」「D」のファイルが反映されます それで反映されるパターンとしては Cドライヴ「あ」の中に「E」「F」のファイルを入れて 「A」「B」「C」「D」「E」「F」に増やし それをDドライヴにドラックすると 同じ様に、Dドライヴ内でも 「あ」の中に「A」「B」「C」「D」「E」「F」に反映します この時「A」「B」「C」「D」は上書き 「E」「F」が新たに加わるという形な訳ですが その後、Cドライヴで「A」「B」を削除 「C」「D」「E」「F」の後に 「G」「H」を入れた場合 Cドライヴでは「C」「D」「E」「F」「G」「H」 の内容に変更されてる訳ですが そのままDドライヴにドラックした場合 Dドライヴ内の同フォルダも 「C」「D」「E」「F」「G」「H」に 反映されないのか?という質問なんです もっと簡単に言うなら Cドライヴでは「C」「D」「E」「F」「G」「H」 それをDドライヴにドラックした後 Cドライヴの同フォルダの中を削除して空フォルダに… その後、Dドライヴにドラックした場合 Dドライヴ内の同フォルダも空フォルダとして 反映されないんだろうか?…という質問です

  • 2台のHDDが有るが1台しか見えない

    下記のような経験のない状態になってしまいました。 まったく分からないのでベテランの方のアドバイスがほしいですので、よろしくお願いします。 2台のHDDをC,D,Eと認識して使ってました。  1.ノートンGo Backで履歴を蓄積していたが自動Go BackはOFFにしてました。  2.履歴5日目の日にインストールしたアプリを削除したかったので、2日分さかのぼってGo Backをした。  3.しかしWindowsXPのシステムファイルが壊れて起動出来なくなった。  4.どちらのドライブか忘れましたが、片方のHDDのパーティーションを解除・作成・フォーマットして新たにWindowsXPをインストールしました。  5.不思議なことにインストールが終わってみると起動HDDはFドライブ(MAXTORの20GB)でマイコンピュータに1台しかHDDが見えません。  6.BIOS起動時点では"Maxtor 2F030L0が30GB" "MAXTOR 4K020H1が20GB"の2台が見えます。  7.WindowsXPのデバイスマネージャからも2台のドライブが見えます。  8.ちなみにマイコンピュータのドライブ構成は下記のようになっています。  Fドライブ(起動ディスク) 20GBのHDD、Dドライブ DVD、Eドライブ DVD、Gドライブ USBメモリ 以上、m(。。)mヨロシクオネガイシマス。

  • 2ファイルの比較

    2ファイルの比較 中身が以下のようなファイルがあります。 ---ファイルA中身--- a c c d e f f ----------------- ---ファイルB中身--- a a b b b c d e g ----------------- この2ファイルから、以下のようなファイルを作りたいです。 ---ファイルC中身--- b b g ----------------- つまり、ファイルBにはあって、ファイルAにはない行をファイルCに入れたいです。 while($line_B = <FILEB>){ while($line_A = <FILEA>){ @A = split(/,/,$line_A); if($line_B !~ /$line_A/){ print FILEC $line_B; } } seek(FILEA,0,0); } としてみたのですが、全然ダメです。理由も分かってます。 が、お手上げです。ご教授お願いします。

  • VBスクリプトでcsvファイルを比較

    別々のCSVファイルがありますが同じ形式にしておいて、 a.csv a,b,c b.csv d,e,f aとd、bとe、cとfと順番に比較する方法を教えて頂けますでしょうか。

  • フォルダのコピーについて

    Dドライブに保存したデータを外付けのハードディスクにコピーする時に、同名のファイルやフォルダがあると毎回「上書きしますか?」 と聞かれるんですが、元のフォルダに新しく保存したデータだけコピーするにはどうしたらよいでしょうか? 例えば、Dドライブにa,b,c,d,e,f,gとファイルがあるとします。 外付けにはa,b,c,dはすでにコピーしてありますが、e,f,gはまだしていません。この状態でe,f,gだけコピーするやり方を教えて頂きたいのですが…すべて上書きだととても時間がかかってしまうし、単純に新しいデータだけ選択してコピーすればいいんですが、フォルダの中身コピー元とコピー先でがバラバラに並んでいるので抽出するのが大変なので… どなたかよろしくお願いします。

  • 二台のパソコンの相互利用の方法

    こんにちわ。 突然で失礼ですが、ご質問させていただければ幸いです。 ノートパソコンを二台持っていまして、仮にAとBとします。Aに外付けのハードディスクドライブを接続しておりまして、そこにAVI形式などの動画ファイルがあります。AとBをなんらかの形でネットワーク?接続をし、Bのパソコンからの操作で、Aに接続しているハードディスク内のファイルを選択し、再生する方法を教えていただけないでしょうか? 宜しくお願いします。

  • 万能バサミについて(比較)

    万能バサミを探しています。 用途は布団とフローリングカーペット(合板)を考えています。 検索で2つの商品を絞ったのですが、性能(硬度)や刃渡りの比較が難しく、値段の違いが分かりません(コメントはコスパ重視)。 (1)SK11 ストロング万能ハサミ SST-250        ¥1300 (Amazon)   (2)つかいやすくなったファイン万能ハサミ FIN-211  ¥2160 (Amazon) こういった場合、高い方を選ぶべきでしょうか? もし他に、お勧めの商品があれば具体例を挙げて教えていただければありがたいです。 よろしくお願いします。 ※商品情報 (1) http://www.amazon.co.jp/SK11%EF%BC%88%E3%82%A8%E3%82%B9%E3%82%B1%E3%83%BC11%EF%BC%89-SK11-%E3%82%B9%E3%83%88%E3%83%AD%E3%83%B3%E3%82%B0%E4%B8%87%E8%83%BD%E3%83%8F%E3%82%B5%E3%83%9F-SST-250/dp/B004O6NKBW#productDetails (2) http://www.amazon.co.jp/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%B3-FIN-211-%E3%81%A4%E3%81%8B%E3%81%84%E3%82%84%E3%81%99%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F%E3%83%95%E3%82%A1%E3%82%A4%E3%83%B3%E4%B8%87%E8%83%BD%E3%83%8F%E3%82%B5%E3%83%9F/dp/B002MT9X0K

専門家に質問してみよう