""" * My Auto Folder Maker For My Halifax Statements (Created: 20th/Jan/2022) * v5.0 # This Works Perfectly!! # Just Paste This Python File Into The Folder Where You Want The Folders Made & Run It DEC/2023 v1.0: - Started coding this project NOTE: """ import os, time import shutil from pathlib import Path from My_Global_Utility_Modules import Error_Handling as ErrHand # The Folder of THIS current script/File (PathLib)!! #? This is best as it creates an Absolute Path to THIS Script/File!! curr_dir_path = Path(__file__).resolve().parent #? (3) ========== Check if "Main_Folder" Exists ========== def check_folder_exists(folder_2_check=None): # BOOL: Check if "Main_Folder" Exists, in the CWD Bool_Folder_exists = Path(folder_2_check).exists() print() print('==============================================') print(f'BOOL: MS Edge: Folder_exists?... *** {Bool_Folder_exists} ***') print(f'Folder Name... \n{folder_2_check}') print('==============================================') print() return Bool_Folder_exists # End Of Function #? (2) ========== Check IF the Folder & Sub Folders exists ========== def folder_processor(Folder_name): # Call function for Bool result + store result in variable(folder_check) folder_check = check_folder_exists(Folder_name) try: if folder_check == False: # IF The Folder: DOES-NOT Exist?... # Make the New folder folder_deleted_message() elif folder_check == True: # IF The Folder: DOES Exist?... # Deletes the existing main folder + all Sub-folders delete_folder_and_subs(Folder_name) # Using Shutil except: ErrHand.basic_custom_error() # End Of Function #?(4B) ========== Delete the Main folder & all Sub-Folders ========== def delete_folder_and_subs(folders_2_delete=None): print() print(f'===== Shutil... Delete! ===== ') time.sleep(3.0) print(f'===== {folders_2_delete}... Already exists!! ===== ') time.sleep(1.0) print() print(f'===== Deleting The MS Edge Folder.... =====\n{folders_2_delete} ') time.sleep(1.0) print(f'===== AND All Sub-Folders.... ===== ') print() time.sleep(2.0) # NOTE: try: #? Shutil: Delete this folder AND All Sub-Folders # shutil.rmtree(): Will delete the main folder + ALL Sub-Folders!! shutil.rmtree(folders_2_delete, ignore_errors=True) except: ErrHand.basic_custom_error() time.sleep(1.0) print(f'===== All (MS Edge) Folders Now DELETED.... =====') print(f'- {folders_2_delete} ') print() time.sleep(3.0) # End Of Function #? (6) ========== End of Program: Message ========== def folder_deleted_message(): # print() time.sleep(1.0) print('#######################################') time.sleep(1.0) print('### The Folder IS Already Deleted!! ###') time.sleep(1.0) print('#######################################') print() time.sleep(1.0) # End Of Function #? (6) ========== End of Program: Message ========== def prog_end_message(): print() print() time.sleep(1.0) print('#####################################') time.sleep(1.0) print('### All Tasks Are Now Completed!! ###') time.sleep(1.0) print('#####################################') print() time.sleep(1.0) # End Of Function #? ========== MS Edge Folders To Delete!! ========== edge_folders_01 = [ r'C:\Program Files (x86)\Microsoft\Temp', r'C:\Program Files (x86)\Microsoft\Edge', r'C:\Program Files (x86)\Microsoft\EdgeCore', r'C:\Program Files (x86)\Microsoft\EdgeWebView', # r'', ] sys_apps_folders = [ r'C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe', r'C:\Windows\SystemApps\Microsoft.MicrosoftEdgeDevToolsClient_8wekyb3d8bbwe', # r'', ] #? === TESTING === # TEST_folders = [ # r'G:\Downloads\De-Bloat - Win11\uninstall microsoft edge\03. Uninstall MS Edge - FOR EVER!!\_BLANK_NAME_1', # r'G:\Downloads\De-Bloat - Win11\uninstall microsoft edge\03. Uninstall MS Edge - FOR EVER!!\_BLANK_NAME_2', # r'G:\Downloads\De-Bloat - Win11\uninstall microsoft edge\03. Uninstall MS Edge - FOR EVER!!\_BLANK_NAME_3', # r'G:\Downloads\De-Bloat - Win11\uninstall microsoft edge\03. Uninstall MS Edge - FOR EVER!!\_BLANK_NAME_4', # # r'', # ] def Main_Loop(): # MS Edge Folder for e_folder in edge_folders_01: folder_processor(e_folder) # System Apps Folder for e_folder in sys_apps_folders: folder_processor(e_folder) # End Of Function #? ========== Script & Module Execution Control ========== if __name__ == '__main__': #? ===== Global Var for the Main Folder Name # Main_Folder_name = folder_name_main('MAIN Test Folder #1') # folder_processor() # make_sub_folders_loop('New_folder', 1) Main_Loop() prog_end_message() pass