nodahitomi
@nodahitomi

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

ファイルが破損しているか正常化を判定するPythonのスクリプトを探しています

解決したいこと

ExcelやWordやPowerPointやjpgや動画の多数(1万ファイル以上)のファイルが、[破損している]か、[正常]かを判定して、結果をcsvファイルに書き出してくれるpythonスクリプトを公開されているサイトはご存じ有りませんか?。破損しているファイルを修復するソフトは多数ありますが、チェックして判定だけするソフトを探しております。ちなみにjpgだけは市販のソフトを使用しております。
一応作成はしましたが、制度が悪く、実用にならないレベルなので、使えるレベルの物を探しております。有料ソフトでも結構です。

0

2Answer

Python に限った話じゃないですが、予め正常な状態のファイルで MD5 等の チェックサム を取得しておき、再度任意のタイミングでチェックサムを確認した時に値が変わっていたらファイルの内容が書き換わっている (壊れている) とみなす…方法があります。

これはインターネットからファイルをダウンロードする時に元のファイルと比較して壊れていないか確認するため等によく使用される手法です。

個人的に、Windows のツールでは HashTools を愛用しています。

0Like

Comments

  1. @nodahitomi

    Questioner

    回答頂きましてありがとうございます。
    窓の杜とVectorにあるソフトを全て試し済みですが
    ハッシュ値は表示されても、比較する物ばかりで、
    初回スキャンだけで整合性有、無、の判定をしてくれる物は
    ありませんでした。
    もし1回のスキャンで判定してくれるソフトがあれば教えて頂ければ
    嬉しく思います。
    また機会がありましたら、どうぞ宜しくお願いします。

破損をどう判定するかはファイルフォーマットに大きく左右されるため、特定のフォーマットに特化したツールを組み合わせる形になるかと思います。

一般的なメディアフォーマット(画像と動画)をチェックするスクリプトは見つかりました。

MS Office のファイルは、 .xlsx のように x で終わる拡張子なら zip で圧縮された形式になっているはずなので、 zip の整合性をチェックするツールを使うとよさそうです。

0Like

Comments

  1. @nodahitomi

    Questioner

    おそらく、[Badpegy]だと思いますが、そのソフトはGoogleで検索できる唯一のサイトだとうと思います。以前から、繰り返し検証していましたが、殆どのjpgが[破損]と判定されるのが難点でした。
    目視で正常に見え、且つ開けるファイルも[破損]と判定される事を確認しています。
    判定は理論的には間違っていないのだろうと思いますが、精度の強弱が設定できませんので、私の用途からしますと実用にはならないレベルかと思っています。
    ちなみに市販されている唯一のソフトも目視で正常なJPG画像も破損と判定されますが破損率を%で表示してくれるので、並べ替えて任意の%で一括削除すれば
    実用になります。
    Pythonのライブラリー関数も殆ど試しましたが、整合判定が曖昧でした。
    但し全てのライブラリーがインストールできた訳ではなく、
    原因不明のエラーが発生する物がありますので、汎用としては厳しい注文なのでしょう。

    回答頂きましてありがとうございました。
    機会がございましたら、ご教授頂ければ幸いです。

Your answer might help someone💌