import os from pathlib import Path # ========================== # CONFIG # ========================== FOLDER_1 = Path(r"U:\Dropbox\Ordinace\Dokumentace_ke_zpracování") FOLDER_2 = Path(r"U:\Dropbox\Ordinace\Dokumentace_ke_zpracování\MP") TRIANGLE = "▲" # Set to True for testing (no changes), False to really rename DRY_RUN = False def main(): # ---- Collect files in FOLDER_1 (top level only) files_folder1 = [f for f in FOLDER_1.iterdir() if f.is_file()] names_folder1 = {f.name.lower() for f in files_folder1} # ---- Collect ALL files in FOLDER_2 (recursive) files_folder2 = [f for f in FOLDER_2.rglob("*") if f.is_file()] actions = [] # store what would be renamed for file2 in files_folder2: original_name = file2.name lower_name = original_name.lower() # Skip if already starts with ▲ if original_name.startswith(TRIANGLE): continue # Check if the filename exists in Folder 1 if lower_name in names_folder1: new_name = TRIANGLE + original_name new_path = file2.with_name(new_name) actions.append((file2, new_path)) if DRY_RUN: print(f"[DRY RUN] Would rename: {file2} → {new_path}") else: print(f"Renaming: {file2} → {new_path}") file2.rename(new_path) print("\n===============================") if DRY_RUN: print(f"DRY RUN COMPLETE — {len(actions)} file(s) would be renamed.") else: print(f"DONE — {len(actions)} file(s) renamed.") print("===============================") if __name__ == "__main__": main()