私はクライアントから間違ったファイル拡張子を持つファイルを受け取ることがあります。たとえば、名前はimage.jpg
ですが、ファイルは実際にはTIFFイメージです。多くの場合、テキストエディタでファイルを開き、最初の数バイトを見てから、それがどのファイルタイプであるかを推測することで明確にすることができます。
これは、JPEG、TIFF、GIF、PDFファイルで私のために働きます。しかし、もっとたくさんのファイルタイプがあります。
含まれているデータを分析することによって正しいファイルタイプの識別を自動化することは可能ですか?
ファイルを識別するためのファイルタイプ定義のライブラリが増えている TrID ツールを使用できます。
ワイルドカードがサポートされているので、あなたの例ではあなたはただフォルダ内に検査されるべきすべての画像を置くことができます。 C:\ verifyimages - それからあなたは次のコマンドを使うことができます。
trid C:\verifyimages\*
これはverifyimages
フォルダ内のすべてのファイルを調べます。
利用可能なGUIバージョンもあります、 TrIDNet :
WindowsエクスプローラとTotal CommanderにTrIDまたはTrIDNetを簡単に統合する方法についてのドキュメントがあります。
Windowsエクスプローラ
総司令官
ファイルは各引数を分類してテストします。ファイルシステムテスト、マジックナンバーテスト、言語テストの3つのテストセットがあります。 最初のテストが成功すると、ファイルタイプが印刷されます。
印刷されるタイプは通常、単語textのうちの1つを含みます(ファイルは印刷文字といくつかの共通制御文字のみを含み、おそらくASCII端末で読んでも安全です。 )、実行可能ファイル(このファイルには、UNIXカーネルなどで理解できる形式でプログラムをコンパイルした結果が含まれます)、またはdata以外の意味(データは通常「バイナリ」または印刷不可です)。例外は、バイナリデータを含むことが知られている、よく知られているファイル形式(コアファイル、tarアーカイブ)です。
私はかつてフランス国立図書館に勤務し、デジタル化された本だけでなく、あらゆる種類の奇妙なファイルタイプを含む何百万ものデジタルアーティファクトを含むデジタルアーカイブシステムを構築していました。ファイルフォーマットを認識するために JHOVE を使用しました。
JHOVEはオープンソースであり、JSTORとハーバード大学図書館によって管理されています。 を使うのはかなり簡単です。
私は自分のプログラムで OracleのOutsideInライブラリ を使っています。無料ではありませんが、特に画像に対してはうまく機能します。市場では500以上のファイルタイプをサポートしていると言われています。
あなたは窓を含むどんなコンピュータからでもファイルタイプをチェックすることができます