- ベストアンサー
FCIV 不一致でも一致の判定結果になる? なぜ?
- FCIVの使い方が間違っているのかもしれませんが、一致しないファイルが一致していると判定されてしまいます。
- 実際のフォルダは階層構造になっているので-rオプションが付きます。
- どのようにすれば正しく一致・不一致を判定することができるのでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>なぜ異なるファイルが一致していると判定されてしまうのでしょうか。 fcivの使用方法を間違っています。 civの使用方法は、以下の通りです。 ・ハッシュ値を計算して画面に表示する fciv ハッシュ値を計算したいファイル fciv -add ハッシュ値を計算したいファイル ・ハッシュ値を計算してハッシュデータベースファイルに追加する fciv ハッシュ値を計算したいファイル -xml ハッシュデータベースファイル fciv -add ハッシュ値を計算したいファイル -xml ハッシュデータベースファイル ・ハッシュデータベースファイルに記録されたハッシュ値が、実際のファイルのハッシュ値と正しいか確認する fciv -v -xml ハッシュデータベースファイル ・ハッシュデータベースファイルに記録されたハッシュ値を表示するだけ(確認は行なわない) fciv -list -xml ハッシュデータベースファイル fciv -v c:\fciv\folder2 -xml c:\fciv\hash_out.xml と実行した場合、fcivは、指定した「c:\fciv\folder2」を無視して ffciv -v -xml c:\fciv\hash_out.xml と実行したのと同じになります。 -vオプションが指定された場合、hash_out.xmlの<name>タグで指定したファイルのハッシュ値と、hash_out.xmlの<MD5>タグで指定したハッシュIDで、比較が行なわれます。 ですのでhash_out.xmlの中身を <?xml version="1.0" encoding="utf-8"?> <FCIV> <FILE_ENTRY><name>c:\fciv\folder2\file</name><MD5>ICy5YqxZB1uWSwcVLSNLcA==</MD5></FILE_ENTRY></FCIV> と書き換えて(folder1をfolder2に書き換えて)から fciv -v -xml c:\fciv\hash_out.xml を実行してみて下さい。すると Hash is : 81dc9bdb52d04dc20036dbd8313ed055 It should be : 202cb962ac59075b964b07152d234b70 と表示されます。 「-vオプション指定時」は「ファイルの指定は無視される」ので、使い方を間違えないようにしましょう。
お礼
ネット上の情報では fciv -v ディレクトリ名(あるいはファイル名) -xml XMLファイル名 というようなことが書かれていましたので このような記述をしていましたが、 とても分かりやすい説明で どこが間違っていたのかということと どうすればよいのかということがよくわかりました。 ありがとうございました。