import os
import shutil
from tkinter import Tk, Label, Button, filedialog, messagebox
class FileFolderManager:
def __init__(self, root):
[Link] = root
[Link]("Graphic Designer File Manager")
[Link]("500x350")
Label(root, text="Graphic Designer File Manager", font=("Arial",
16)).pack(pady=10)
Button(root, text="Select Folder", command=self.select_folder,
width=20).pack(pady=5)
Button(root, text="Organize Files by Type", command=self.organize_files,
width=20).pack(pady=5)
Button(root, text="Rename Files", command=self.rename_files,
width=20).pack(pady=5)
Button(root, text="Create New Folder", command=self.create_folder,
width=20).pack(pady=5)
Button(root, text="Delete Files by Type",
command=self.delete_files_by_type, width=20).pack(pady=5)
Button(root, text="Exit", command=[Link], width=20).pack(pady=5)
self.folder_path = ""
def select_folder(self):
self.folder_path = [Link]()
if self.folder_path:
[Link]("Folder Selected", f"Selected Folder:
{self.folder_path}")
def organize_files(self):
if not self.folder_path:
[Link]("No Folder Selected", "Please select a folder
first.")
return
for file in [Link](self.folder_path):
file_path = [Link](self.folder_path, file)
if [Link](file_path):
file_ext = [Link]('.')[-1].lower()
folder_name = [Link](self.folder_path, file_ext)
if not [Link](folder_name):
[Link](folder_name)
[Link](file_path, folder_name)
[Link]("Success", "Files organized by type.")
def rename_files(self):
if not self.folder_path:
[Link]("No Folder Selected", "Please select a folder
first.")
return
prefix = [Link]("Rename Files", "Enter a prefix for
renaming:")
if not prefix:
return
for count, file in enumerate([Link](self.folder_path), start=1):
file_path = [Link](self.folder_path, file)
if [Link](file_path):
ext = [Link]('.')[-1]
new_name = f"{prefix}_{count}.{ext}"
new_path = [Link](self.folder_path, new_name)
[Link](file_path, new_path)
[Link]("Success", "Files renamed successfully.")
def create_folder(self):
if not self.folder_path:
[Link]("No Folder Selected", "Please select a folder
first.")
return
folder_name = [Link]("Create Folder", "Enter a folder name:")
if not folder_name:
return
new_folder_path = [Link](self.folder_path, folder_name)
if not [Link](new_folder_path):
[Link](new_folder_path)
[Link]("Success", "Folder created successfully.")
else:
[Link]("Exists", "Folder already exists.")
def delete_files_by_type(self):
if not self.folder_path:
[Link]("No Folder Selected", "Please select a folder
first.")
return
file_type = [Link]("Delete Files", "Enter the file extension
to delete (e.g., png):")
if not file_type:
return
deleted_files = 0
for file in [Link](self.folder_path):
file_path = [Link](self.folder_path, file)
if [Link](file_path) and [Link](f".
{file_type.lower()}"):
[Link](file_path)
deleted_files += 1
[Link]("Success", f"Deleted {deleted_files} .{file_type}
file(s).")
if __name__ == "__main__":
root = Tk()
app = FileFolderManager(root)
[Link]()