Il existe plusieurs postes sur la génération de SUMs MD5 pour les fichiers et/ou les dossiers sur différentes plates-formes Windows. Cependant, Aucun de ceux-ci ont travaillé pour moi. J'ai essayé:
CertUtil -hashfile myFileName MD5
retourne " l'accès est refusé" sur tous les dossiers (mon cmd
fonctionne avec des privilèges administrateurs),À ce stade, je commence à devenir un peu désespéré. Veuillez noter que j'utilise Windows 7 x64.
Pour info, si possible, j'essaie de trouver un outil permettant à quelque chose comme celui-ci sous Linux:
find DIR -type f -exec md5sum {} \; | sort -k 2 | md5sum
Si vous souhaitez utiliser une interface graphique, je peux recommander FSum frontend .
FSUM FRONTEND est un outil gratuit et facile à utiliser qui permet de calculer les digests de message, les checksums et les HMACS pour les fichiers et les chaînes de texte. Il prend en charge le glisser-déposer et vous pouvez gérer plusieurs fichiers à la fois. La somme de contrôle générée peut être utilisée pour vérifier l'intégrité des fichiers.
Il prend en charge 96 algorithmes: [...] MD5 [...]
Comme le nom l'indique, FSUM FRONTEND est une interface graphique pour (entre autres) SlavaSoft FSum .
Un utilitaire de ligne de commande rapide et pratique pour la vérification de l'intégrité des fichiers. Il offre un choix de 13 des fonctions de hash et de contrôle les plus populaires pour le calcul du message de fichier de fichier et le calcul de la somme de contrôle.
Ses caractéristiques incluent:
- Possibilité d'agir récursivement. FSUM peut fonctionner non seulement sur des fichiers à partir d'un répertoire spécifique, mais également sur des fichiers de tous les sous-répertoires du répertoire spécifié;
- Travailler avec Fichiers de grande taille. (Testé sur des tailles de fichier allant jusqu'à 15 Go);
- Full Compatibilité avec MD5Sum utilitaire
Vous pouvez atteindre l'équivalent à votre commande UNIX (moins le tri) avec les éléments suivants:
for /R . %f in (*.*) do @certutil -hashfile "%f" MD5
Vous pouvez changer le point (.
) Pour tout dossier que vous souhaitez recueillir, et le *.*
À quel que soit le masque de fichiers dont vous avez besoin afin de réduire votre jeu de fichiers.
PowerShell fournit une déclaration de boucle, certaines personnes peuvent préférer cette syntaxe
foreach($f in dir){ certutil -hashfile "$f" md5}
En retard à la question, mais ne trouvant que des réponses non acceptées ici est ce que j'ai trouvé:
function Get-FolderHash ($folder) {
dir $folder -Recurse | ?{!$_.psiscontainer} | %{[Byte[]]$contents += [System.IO.File]::ReadAllBytes($_.fullname)}
$hasher = [System.Security.Cryptography.SHA1]::Create()
[string]::Join("",$($hasher.ComputeHash($contents) | %{"{0:x2}" -f $_}))
}
Copiez et collez ce code à la console PowerShell et tapez:
Get-FolderHash "C:\CustomFolder"
Runtime peut varier en fonction du contenu du dossier.