Advertisement
nicuf

move folders into other folders on a particular day and time

May 17th, 2024
398
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.29 KB | None | 0 0
  1. import os
  2. import shutil
  3. from datetime import datetime
  4.  
  5. def move_folders(source_dir, dest_dir):
  6.     # Parcurgem toate fișierele și directoarele din directorul sursă
  7.     for item in os.listdir(source_dir):
  8.         item_path = os.path.join(source_dir, item)
  9.        
  10.         # Verificăm dacă este un director
  11.         if os.path.isdir(item_path):
  12.            
  13.             # Verificăm dacă numele directorului conține virgulă
  14.             if ',' in item:
  15.                 # Dacă da, înseamnă că este un director format din 2 sau 3 cuvinte
  16.                 first_letter = item.split(',')[0][0].upper()
  17.                
  18.                 # Calea către directorul destinație
  19.                 dest_folder = os.path.join(dest_dir, first_letter)
  20.                
  21.                 # Verificăm dacă directorul destinație există, altfel îl creăm
  22.                 if not os.path.exists(dest_folder):
  23.                     os.makedirs(dest_folder)
  24.                
  25.                 # Mutăm directorul în directorul destinație
  26.                 shutil.move(item_path, os.path.join(dest_folder, item))
  27.                 print(f"Directorul {item} a fost mutat în {dest_folder}")
  28.  
  29. def copy_folders(source_dir, dest_dir):
  30.     # Parcurgem toate fișierele și directoarele din directorul sursă
  31.     for item in os.listdir(source_dir):
  32.         item_path = os.path.join(source_dir, item)
  33.         dest_path = os.path.join(dest_dir, item)
  34.        
  35.         # Verificăm dacă este un director
  36.         if os.path.isdir(item_path):
  37.             # Copiem directorul în directorul destinație
  38.             shutil.copytree(item_path, dest_path)
  39.             print(f"Directorul {item} a fost copiat în {dest_dir}")
  40.  
  41. # Căile către directoarele implicate
  42. arhiva_dir = r"g:\ARHIVA"
  43. upload_curent_dir = r"e:\UPLOAD\_SAPT. CURENTA"
  44. upload_trecut_dir = r"e:\UPLOAD\_SAPT. TRECUTA"
  45.  
  46. # Verificăm ziua săptămânii
  47. if datetime.today().weekday() == 0:  # Luni
  48.     # Mutăm folderele din "_SAPT. TRECUTA" în "ARHIVA"
  49.     move_folders(upload_trecut_dir, arhiva_dir)
  50.    
  51.     # Copiem folderele din "_SAPT. CURENTA" în "_SAPT. TRECUTA"
  52.     copy_folders(upload_curent_dir, upload_trecut_dir)
  53.  
  54.     print("Operațiunile au fost efectuate cu succes!")
  55. else:
  56.     print("Astăzi nu este luni, operațiunile nu au fost efectuate.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement