以下是一个使用Python的示例代码,可以按文件哈希值分组,并列出与每个哈希关联的文件名:
import hashlib
import os
def group_files_by_hash(directory):
file_hashes = {}
for root, dirs, files in os.walk(directory):
for filename in files:
file_path = os.path.join(root, filename)
with open(file_path, 'rb') as file:
file_hash = hashlib.sha256(file.read()).hexdigest()
if file_hash in file_hashes:
file_hashes[file_hash].append(file_path)
else:
file_hashes[file_hash] = [file_path]
return file_hashes
directory = '/path/to/directory'
file_hashes = group_files_by_hash(directory)
for file_hash, file_paths in file_hashes.items():
print(f'Hash: {file_hash}')
print('Files:')
for file_path in file_paths:
print(file_path)
print()
请将/path/to/directory
替换为要检查的目录的路径。此代码将递归地遍历目录中的所有文件,并计算每个文件的SHA-256哈希值。然后,它将根据哈希值将文件分组,并打印出每个哈希值关联的所有文件名。