Я хочу написать пакетный скрипт, который может генерировать и проверять md5-хэши всего дерева каталогов. Есть ли такая программа для Windows?
Я могу найти много программ md5, но они не проверяются и не повторяются.
Я хочу написать пакетный скрипт, который может генерировать и проверять md5-хэши всего дерева каталогов. Есть ли такая программа для Windows?
Я могу найти много программ md5, но они не проверяются и не повторяются.
так что если вы знакомы с командной строкой, вот несколько инструментов, которые вы можете попробовать:
FileList
Исходный 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
или md5deep от 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
теперь просто сравните list.csv с list2.csv в Excel или с любой утилитой сравнения (например, Windifff)
в противном случае пойти на:
MD5summer с http://www.md5summer.org/
или же
Зачем изобретать велосипед? Поскольку вы специально сказали, что ищете приложение для Windows, я рекомендую расширение оболочки HashCheck
Он может делать все, что вы просите, и очень мало ресурсов.
Я не думаю, что вы можете сделать это извините. Хэш md5 - это хеш потока байтов, но дерево каталогов - это не поток байтов. Папка - это индекс файлов (которые представляют собой потоки байтов) и других папок. Сейчас технически папки - это просто файлы, но нет "предопределенного" порядка для всех файлов, поэтому я не думаю, что это возможно.
Поэтому вместо этого я думаю, что сначала вам нужно закодировать каталог в один поток байтов (то есть файл). Версии zip или winRar из командной строки будут выполнены. Если скорость - проблема, есть варианты, чтобы фактически не делать никакого сжатия. Возможно, есть также порт tar для Windows, или, может быть, даже собственный эквивалент Windows (CAB-файлы?). Я, вероятно, пошел бы с 7zip и использовал бы comamndline 7z.exe
(включенный в установщик)
Таким образом, ваш скрипт может создать один файл, а затем получить MD5-хеш этого. И тогда ваш скрипт может удалить один файл. Не совсем то, что вы хотите, но я думаю, что это ваш лучший вариант.