Python-Skript zum Finden von Dateinamen und Verzeichnissen mit Nicht-Standard-Zeichen
Dieses Skript gibt rekursiv Datei- und Verzeichnisnamen aus, die Zeichen in ihrem Namen haben, die weder zum Unicode-Block Basic Latin noch zum Latin-1-Supplement-Block gehören.
find_invalid_filenames.py
#!/usr/bin/env python3
import os
import argparse
def is_valid_char(c):
"""Prüfen, ob ein Zeichen innerhalb der Unicode-Blöcke Basic Latin oder Latin-1 Supplement liegt."""
return '0000' <= f"{ord(c):04x}" <= '00ff'
def contains_invalid_chars(name):
"""Prüfen, ob ein Zeichenfolge Zeichen außerhalb von Basic Latin oder Latin-1 Supplement enthält."""
return any(not is_valid_char(c) for c in name)
def check_directory(path):
"""Rekursiv Verzeichnisse und Dateien auf ungültige Zeichen in ihren Namen prüfen."""
for root, dirs, files in os.walk(path):
for name in dirs + files:
if contains_invalid_chars(name):
print(os.path.join(root, name))
def main():
parser = argparse.ArgumentParser(description="Check for files and directories with invalid characters in their names.")
parser.add_argument('path', type=str, help="The path to the directory to check.")
args = parser.parse_args()
if not os.path.isdir(args.path):
print(f"The path {args.path} is not a valid directory.")
return
check_directory(args.path)
if __name__ == "__main__":
main()Check out similar posts by category:
Python
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow