web-dev-qa-db-ja.com

再帰的なコマンドラインmd5ジェネレーターとベリファイア

ディレクトリツリー全体のmd5ハッシュを生成および検証する機能を備えたバッチスクリプトを作成したいと思います。 Windows用のこのようなプログラムはありますか?

私は多くのmd5プログラムを見つけることができますが、それらは検証も再発もしません。

3
Synaps3

したがって、コマンドラインに精通している場合は、次のツールを試すことができます。

FileList

差出人: http://web.archive.org/web/20151229001926/http://malektips.com:80/filelist-output-directory-csv-spreadsheet-database.html

元のURLは機能しなくなったため、上記ではウェイバックマシンを使用しています。ダウンロードサイトに移動するリンクをクリックすると、ウェイバックマシンも使用されるため、引き続き機能しているように見える直接リンクがあります。 https://www.jam-software.com/filelist/

filelist /?

FileList V2.0

Prints a list of all files in a file system branch

FILELIST [/OPTION] [/FILTER pattern1;pattern2;...] Path [>list.csv]

/OWNERS       Adds a coluimn with the file owners (slower)
/NOHEADER     Leaves out the column headers and only prints the raw data
/ATTRIBUTES   Includes the attributes that are set for each files
/MD5          Adds a column wit the MD5 checksum of each file
/AUTHORS      Additionally extracts name of the author from MS Office documents
/LASTSAVEDATE Additionally extracts the last save date from MS Office documents
/FILTER       Allows to specify one or more filters, separated with semicolons

For example: filelist /md5 C:\temp > list.csv

Add new files then run again filelist /md5 C:\temp > list2.csv 

またはmd5deepfrom http://md5deep.sourceforge.net/start-md5deep.html

 md5deep.exe -r C:\temp >> md5hashes1.txt modify files and run again
 md5deep.exe -r C:\temp >> md5hashes2.txt

ここで、Excelまたは任意のdiffユーティリティ(Windifffなど)のいずれかでlist.csvをlist2.csvと比較するだけです。

それ以外の場合:

MD5summerfrom http://www.md5summer.org/

または

hksfvfrom http://www.big-o-software.com/products/hksfv/

2
opexxx

なぜ車輪の再発明をするのですか? Windowsアプリを探していると具体的に言ったので、お勧めします HashCheck Shell Extension

それはあなたが求めるすべてを行うことができ、リソースが非常に少ないです。

0
luckman212

申し訳ありませんが、これはできないと思います。 md5ハッシュはバイトストリームのハッシュですが、ディレクトリツリーはバイトストリームではありません。フォルダは、ファイル(バイトのストリーム)およびその他のフォルダのインデックスです。現在、技術的にはフォルダは単なるファイルですが、すべてのファイルに「事前に定義された」順序がないため、それが可能だとは思いません。

したがって、代わりに、最初にディレクトリを単一のバイトストリーム(つまりファイル)にエンコードする必要があると思います。 ZipまたはwinRarのコマンドラインバージョンがこれを実現します。速度が問題になる場合は、実際には圧縮を行わないオプションがあります。おそらくtarのWindowsポートもあるでしょうし、あるいはWindowsネイティブの同等のもの(.cabファイル?)もあるでしょう。私はおそらく7Zipを使用し、comamndline 7z.exe(インストーラーに含まれています)を使用します

http://www.7-Zip.org/

したがって、スクリプトで単一のファイルを作成し、そのMD5ハッシュを取得できます。そして、スクリプトによって単一のファイルが削除される可能性があります。正確にはあなたが望むものではありませんが、私はそれがあなたの最良の選択肢だと思います。

0
Sodved