web-dev-qa-db-ja.com

ハッシュを含む詳細情報を含む完全なディレクトリ/ファイルリストを取得するためのツールは何ですか?

たまに、次のようなコマンドを使用して、ドライブの完全なスナップショットを撮ります。

> for %i in (%drives_hd%) do @dir %i:\/s/a/o>>File_List.txt

これにより、システム上のすべてのファイルの詳細情報(パス、ファイル名、日付、サイズ)が提供され、スペースをあまり消費せずにファイルのタブを維持するのに最適です(〜500,000ファイルの場合は〜50MB)。問題は、ハッシュが含まれていないことです。

明らかにファイルハッシュツールはありますが、他の詳細は提供されていません。また、ハッシュを個別に実行して、ディレクトリリストと組み合わせる実用的な方法はありません。

dirコマンドのように完全な詳細を含むテキストファイルを作成できるだけでなく、ファイルハッシュ(少なくともCRC(32)、MD5、およびSHA1)を含めることができるツールを探しています。ただし、ハッシュの数に関係なく、各ファイルを1回だけ読み取るように、適切に作成する必要があります(つまり、ハッシュタイプごとにファイル全体を1回読み取らないでください)。

CLIプログラムが好きですが、スクリプトから実行できる限り、GUIプログラムでも問題ありません。

私はLinuxツール(のWindowsポート)にも門戸を開いています。

私はGoogleで何も見つけることができず(このような便利なツールがあまり一般的ではないことに驚いていますが)、自分でそのようなツールを作成することを検討しましたが、何かがすでに存在することを望んでいます。


デフォルトのdir出力:

 Volume in drive C is C-WINDOWSXP
 Volume Serial Number is 1234-5678

 Directory of C:\

2007.07.05  04:05p    <DIR>          Documents and Settings
2011.05.04  07:38p    <DIR>          Program Files
2010.04.02  11:35p    <DIR>          WINDOWS
2011.10.09  10:45p               454 BOOT.INI
2002.08.28  10:08p            47,580 NTDETECT.COM
2002.08.29  02:05a           233,632 NTLDR
               3 File(s)      281,666 bytes

 Directory of C:\Documents and Settings

2003.11.12  03:08p    <DIR>          .
2003.11.12  03:08p    <DIR>          ..
2007.07.05  10:36p    <DIR>          Administrator
2007.07.05  04:21p    <DIR>          All Users
               0 File(s)              0 bytes

 Directory of C:\Documents and Settings\All Users

2003.11.12  03:08p    <DIR>          .
2003.11.12  03:08p    <DIR>          ..
2007.07.05  04:23p    <DIR>          Application Data
2011.06.23  03:23p    <DIR>          Documents
2011.01.09  12:56p           262,144 ntuser.dat
               1 File(s)      262,144 bytes

...

必要な出力:

 Volume in drive C is C-WINDOWSXP
 Volume Serial Number is 1234-5678

 Directory of C:\

2007.07.05  04:05p    <DIR>          Documents and Settings
2011.05.04  07:38p    <DIR>          Program Files
2010.04.02  11:35p    <DIR>          WINDOWS
2011.10.09  10:45p               454 BOOT.INI                 d1183b26 fad47d7d255e1189dbef3003fba96868 39c9bbe3edad58a5bd091ea1db8f9b6cf03f9566
2002.08.28  10:08p            47,580 NTDETECT.COM             a709deed 28a3ac957be5d239a3dd4f3d4cdbf3b8 f5625a158d92478c814df3b33a9ad5fcd5f8a956
2002.08.29  02:05a           233,632 NTLDR                    0d7e47bd 9896e483e211b8cd1fa7bb32572f02ec c57426135d0419985681a674149c88e652c8ec63
               3 File(s)      281,666 bytes
               3 Dir(s)

 Directory of C:\Documents and Settings

2003.11.12  03:08p    <DIR>          .
2003.11.12  03:08p    <DIR>          ..
2007.07.05  10:36p    <DIR>          Administrator
2007.07.05  04:21p    <DIR>          All Users
               0 File(s)              0 bytes
               2 Dir(s)

 Directory of C:\Documents and Settings\All Users

2003.11.12  03:08p    <DIR>          .
2003.11.12  03:08p    <DIR>          ..
2007.07.05  04:23p    <DIR>          Application Data
2011.06.23  03:23p    <DIR>          Documents
2011.01.09  12:56p           262,144 ntuser.dat               fc3d370a b3ea06755f614e2c18fc1de875b60126 8264549330d9dbef494264227be9fadffe653556
               1 File(s)      262,144 bytes
               2 Dir(s)
6
Synetech

WinHasher

WinHasherは、Microsoftの.NET 2.0 Frameworkを使用してC#で記述された無料のオープンソース暗号化ハッシュまたはダイジェストジェネレーターです。これを使用して、ファイルのダウンロードの整合性を検証し、2つ以上のファイルを比較して変更を確認し、ある程度、強力で一意のパスワードを生成できます。

コマンドラインハッシュジェネレーター

cmdhashgenは、特定の文字列またはファイルに対してさまざまなハッシュを生成するために使用できるコマンドラインユーティリティです。

サポートされているハッシュは、CRC32、MD5、SHA-1、SHA-256、SHA-384、およびSHA-512です。

WinHasherには、バッチファイルまたはスクリプトに関連付けることができる「ハッシュ」を含むコマンドラインユーティリティがあります。 2つのパッケージの中でより安定しているように見えます。

Usage: hash [-md5|-sha1|-sha256|-sha384|-sha512|-ripemd160|-whirlpool|
       -tiger] [-base64|-hexcaps|-bubbab] filename1 [filename2 ...]

WinHasher is a command-line cryptographic hash generator for files.  It
runs in one of two modes:  single file hashing and multi-file comparison.

In single file mode, WinHasher computes the cryptographic hash of the
given file and prints it to the screen.  With no command-line switches,
it computes the SHA-1 hash and displays it in hexadecimal format.  Various
switches allow you to change to other hashing algorithms, such as MD5,
the SHA family, RIPEMD-160, Whirlpool, and Tiger.  The "-base64" switch
causes WinHasher to output hashes in MIME Base64 (RFC 2045) format rather
than hexadecimal, "-hexcaps" outputs hexadecimal with all capital letters,
and "-bubbab" uses Bubble Babble encoding.
2

1つの可能性は NirSoft HashMyFiles です。

これには、フォルダー(およびサブフォルダー)でファイルを検索し、見つかったすべてのファイルの複数のハッシュを計算できるGUIが含まれています。表示された出力は、アイテムの単純なリスト(1行に1つのファイル、フィールドを区切るスペース)またはHTMLレポートとしてクリップボードにコピーできます。

プログラムはコマンドラインから呼び出すこともでき、ハッシュする内容と結果のフォーマット方法に関するさまざまなオプションがあります。 CSV、2つのhtml形式、およびxml形式を含むいくつかのテキスト形式が利用可能です。

残念ながら、結果を並べ替えるためのコマンドラインオプションが表示されません-順序は、トラバーサル中にファイルが見つかった順序と同じように見えます。これは、誤ってフルパス名で並べ替えられたように見えることがありますが、できません。と仮定する。ただし、通常どおりGUIの列見出しをクリックして並べ替えることができます。これは、クリップボードにコピーした場合の結果に影響するようです。

コマンドラインで使用する場合は、いつでも別のユーティリティまたはスクリプトを使用して、必要な並べ替えを行うことができると思います。 XML出力オプションを使用すると、基本的なXSLTを学ぶことさえ言い訳になるかもしれません。

いずれにせよ、これはdir /s/bよりもdir /sに近いですが、問題が解決する可能性があります(まだ問題がある場合)。

1
Steve314

http://sourceforge.net/projects/quickhash

上記のすべての機能([再帰ハッシュ]タブを参照)に加えて、クロスプラットフォームおよびオープンソースで現在保守されているv2.1が数週間前にリリースされました。 MD5、SHA1、SHA256、またはSHA512を使用します。

1
Gizmo_the_Great