-1

I am looking to write a python script to move file1.pdf, file2.pdf and file3.pdf into the main folder 'test folder'

test folder
|__ folder 1
     |___ file1.pdf
|__ folder 2
     |___ file2.pdf
|__ folder 3
     |___ file3.pdf

result:

test folder
|___ file1.pdf
|___ file2.pdf
|___ file3.pdf

Ideally I wouldn't need to list each sub folder (folder 1, folder 2 etc.) as I am trying to automate this for over 1500 subfolders.

Thanks for your help.

AcK
  • 2,063
  • 2
  • 20
  • 27
tedioustortoise
  • 259
  • 3
  • 20

1 Answers1

0
def move_files_from_subfolders_into_root_folder(root_folder):
    for root, dirs, files in os.walk(root_folder, topdown=False):
        # 1. Move files to main folder (out of subfolders:)
        for name in files:
            os.system('move "'+os.path.join(root, name)+'" "'+root_folder+'\\'+os.path.join(name)+'"') #note \\ at the end 
        # 2. Delete empty folders
        folders = list(os.walk(root_folder))[1:]
        for folder in folders:
            if not folder[2]:
                os.rmdir(folder[0])
    # os.system('cls')

move_files_from_subfolders_into_root_folder(root_folder=r"C:\Users\me\Desktop\test_folder")
tedioustortoise
  • 259
  • 3
  • 20