z230
This commit is contained in:
38
Mazání Library/20 MazáníPrádnýchAdresářů.py
Normal file
38
Mazání Library/20 MazáníPrádnýchAdresářů.py
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
def cleanup_empty_folders(target_path, dry_run=True):
|
||||||
|
# Kontrola, zda cesta existuje
|
||||||
|
if not os.path.exists(target_path):
|
||||||
|
print(f"Chyba: Cesta {target_path} neexistuje.")
|
||||||
|
return
|
||||||
|
|
||||||
|
print(f"Prohledávám: {target_path}")
|
||||||
|
if dry_run:
|
||||||
|
print("POZOR: Spuštěno v režimu DRY RUN (nic se nemaže)\n")
|
||||||
|
|
||||||
|
# topdown=False je klíčové - začínáme od nejhlubších složek
|
||||||
|
for root, dirs, files in os.walk(target_path, topdown=False):
|
||||||
|
for name in dirs:
|
||||||
|
folder_path = os.path.join(root, name)
|
||||||
|
|
||||||
|
# Kontrola, zda je složka prázdná
|
||||||
|
# Listdir vypíše vše v adresáři (včetně skrytých souborů)
|
||||||
|
if not os.listdir(folder_path):
|
||||||
|
if dry_run:
|
||||||
|
print(f"[DRY RUN] Složka by byla smazána: {folder_path}")
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
os.rmdir(folder_path)
|
||||||
|
print(f"Smazáno: {folder_path}")
|
||||||
|
except OSError as e:
|
||||||
|
print(f"Chyba při mazání {folder_path}: {e}")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
# Cesta k vašemu síťovému sdílení
|
||||||
|
# V Pythonu na Windows použijte r"" (raw string) kvůli zpětným lomítkům
|
||||||
|
path_to_clean = r"\\tower1\#library"
|
||||||
|
|
||||||
|
# Prvně spusťte s dry_run=True, abyste viděli, co se stane
|
||||||
|
cleanup_empty_folders(path_to_clean, dry_run=True)
|
||||||
Reference in New Issue
Block a user