Add an argument which allows the user to specify which directory should be scanned for duplicates, rather than hard-code the directory into the script. This makes the script portable and easier-to-use.
25 lines
710 B
Python
25 lines
710 B
Python
#!/usr/bin/env python
|
|
|
|
# Duplicate Check
|
|
# Version: 0.13.0
|
|
|
|
# Copyright 2025 Jake Winters
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
|
|
import os
|
|
import hashlib
|
|
import argparse
|
|
|
|
|
|
parser = argparse.ArgumentParser(description='Scan directory for duplicate files and delete them.')
|
|
parser.add_argument('--dry-run', '-d', action='store_true', help='Detect duplicates without deletion.')
|
|
parser.add_argument('directory', type=str, help='The directory to scan for duplicate files.')
|
|
|
|
|
|
def hash_file(file_path):
|
|
sha256_hash = hashlib.sha256()
|
|
with open(file_path, 'rb') as f:
|
|
for byte_block in iter(lambda: f.read(65536), b''):
|
|
sha256_hash.update(byte_block)
|
|
return sha256_hash.hexdigest() |