Skip to content

Instantly share code, notes, and snippets.

@holidayz1
Forked from MalikAbuShabab/organize.py
Last active December 16, 2024 04:17
Show Gist options
  • Select an option

  • Save holidayz1/fe68948fd28d408e99c837c0b7942b7c to your computer and use it in GitHub Desktop.

Select an option

Save holidayz1/fe68948fd28d408e99c837c0b7942b7c to your computer and use it in GitHub Desktop.
Script organizing files and dividing them into folders according to their type
#! python3
import os
import shutil
from pathlib import Path
path = Path('~/folder/foo')
absolute_path = path.absolute()
home_path = str(os.getcwd())+"\Downloads\\"
imagepath=str(os.path.join(os.path.dirname(os.path.realpath(__file__)),'Images'))
Codespath=str(os.path.join(os.path.dirname(os.path.realpath(__file__)),'Codes'))
Docspath=str(os.path.join(os.path.dirname(os.path.realpath(__file__)),'Docs'))
Archivespath=str(os.path.join(os.path.dirname(os.path.realpath(__file__)),'Archives'))
print(str(imagepath))
print(str(Codespath))
print(str(Docspath))
print(str(Archivespath))
print("\t [+] Welcome in organize.py script - happy clean folder ;) \n")
images = 0
Code = 0
Docs = 0
archive = 0
files = os.listdir(home_path) # Get all the files in that directory
print("Files in %r: %s \n" % (home_path, files))
for file in os.listdir(home_path):
# organize images into Images folder
if file.endswith(("png", "jpg", "git", "jpeg")):
if not os.path.exists(imagepath):
os.mkdir(imagepath)
shutil.move(os.path.join(home_path, file), imagepath)
images = images + 1
# organize Code file into Codes folder
elif file.endswith(("py", "java", "php", "js", "exe", "css", "sh", "bash", "html","msi")):
if file != "organize.py":
if not os.path.exists(Codespath):
os.mkdir(Codespath)
shutil.move(os.path.join(home_path, file), Codespath)
Code = Code + 1
# organize Docs file into Documents folder
elif file.endswith(("pdf", "txt", "ppt", "docx", "pptx","doc","epub")):
if not os.path.exists(Docspath):
os.mkdir(Docspath)
shutil.move(os.path.join(home_path, file), Docspath)
Docs = Docs + 1
# organize archive file into archives folder
elif file.endswith(("zip", "rar")):
if not os.path.exists(Archivespath):
os.mkdir(Archivespath)
shutil.move(os.path.join(home_path, file), Archivespath)
archive = archive + 1
print("[", images, "] Images organized Done!")
print("[", Code, "] Codes organized Done!")
print("[", Docs, "] Docs organized Done!")
print("[", archive, "] Archives organized Done!")
print("\n")
print(" Your files were successfully organized ;)")
@holidayz1

Copy link
Copy Markdown
Author

Updated paths so it can run anywhere.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment