Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import shutil
- import tkinter as tk
- from tkinter import messagebox
- from datetime import datetime
- import webbrowser
- def mover_arquivos():
- diretorio_origem = os.getcwd()
- log = []
- if video_var.get():
- diretorio_destino_videos = os.path.join(diretorio_origem, 'Videos')
- if not os.path.exists(diretorio_destino_videos):
- os.mkdir(diretorio_destino_videos)
- arquivos_movidos_videos = 0
- if imagem_var.get():
- diretorio_destino_imagens = os.path.join(diretorio_origem, 'Imagens')
- if not os.path.exists(diretorio_destino_imagens):
- os.mkdir(diretorio_destino_imagens)
- arquivos_movidos_imagens = 0
- if musica_var.get():
- diretorio_destino_musicas = os.path.join(diretorio_origem, 'Músicas')
- if not os.path.exists(diretorio_destino_musicas):
- os.mkdir(diretorio_destino_musicas)
- arquivos_movidos_musicas = 0
- if documento_var.get():
- diretorio_destino_documentos = os.path.join(diretorio_origem, 'Documentos')
- if not os.path.exists(diretorio_destino_documentos):
- os.mkdir(diretorio_destino_documentos)
- arquivos_movidos_documentos = 0
- if icones_var.get():
- diretorio_destino_icones = os.path.join(diretorio_origem, 'Ícones')
- if not os.path.exists(diretorio_destino_icones):
- os.mkdir(diretorio_destino_icones)
- arquivos_movidos_icones = 0
- if compactados_var.get():
- diretorio_destino_compactados = os.path.join(diretorio_origem, 'Arquivos Compactados')
- if not os.path.exists(diretorio_destino_compactados):
- os.mkdir(diretorio_destino_compactados)
- arquivos_movidos_compactados = 0
- if php_var.get():
- diretorio_destino_php = os.path.join(diretorio_origem, 'PHP')
- if not os.path.exists(diretorio_destino_php):
- os.mkdir(diretorio_destino_php)
- arquivos_movidos_php = 0
- if iso_var.get():
- diretorio_destino_iso = os.path.join(diretorio_origem, 'ISO')
- if not os.path.exists(diretorio_destino_iso):
- os.mkdir(diretorio_destino_iso)
- arquivos_movidos_iso = 0
- for arquivo in os.listdir(diretorio_origem):
- if video_var.get() and arquivo.lower().endswith(('.mkv', '.mp4', '.avi', '.flv')):
- caminho_origem = os.path.join(diretorio_origem, arquivo)
- caminho_destino = os.path.join(diretorio_destino_videos, arquivo)
- shutil.move(caminho_origem, caminho_destino)
- arquivos_movidos_videos += 1
- log.append((arquivo, 'Videos'))
- if imagem_var.get() and arquivo.lower().endswith(('.jpg', '.png', '.gif')):
- caminho_origem = os.path.join(diretorio_origem, arquivo)
- caminho_destino = os.path.join(diretorio_destino_imagens, arquivo)
- shutil.move(caminho_origem, caminho_destino)
- arquivos_movidos_imagens += 1
- log.append((arquivo, 'Imagens'))
- if musica_var.get() and arquivo.lower().endswith(('.mp3', '.wav')):
- caminho_origem = os.path.join(diretorio_origem, arquivo)
- caminho_destino = os.path.join(diretorio_destino_musicas, arquivo)
- shutil.move(caminho_origem, caminho_destino)
- arquivos_movidos_musicas += 1
- log.append((arquivo, 'Músicas'))
- if documento_var.get() and arquivo.lower().endswith(('.docx', '.xlsx', '.pdf', '.txt')):
- caminho_origem = os.path.join(diretorio_origem, arquivo)
- caminho_destino = os.path.join(diretorio_destino_documentos, arquivo)
- shutil.move(caminho_origem, caminho_destino)
- arquivos_movidos_documentos += 1
- log.append((arquivo, 'Documentos'))
- if icones_var.get() and arquivo.lower().endswith('.ico'):
- caminho_origem = os.path.join(diretorio_origem, arquivo)
- caminho_destino = os.path.join(diretorio_destino_icones, arquivo)
- shutil.move(caminho_origem, caminho_destino)
- arquivos_movidos_icones += 1
- log.append((arquivo, 'Ícones'))
- if compactados_var.get() and arquivo.lower().endswith(('.zip', '.rar')):
- caminho_origem = os.path.join(diretorio_origem, arquivo)
- caminho_destino = os.path.join(diretorio_destino_compactados, arquivo)
- shutil.move(caminho_origem, caminho_destino)
- arquivos_movidos_compactados += 1
- log.append((arquivo, 'Arquivos Compactados'))
- if php_var.get() and arquivo.lower().endswith(('.php', '.sql')):
- caminho_origem = os.path.join(diretorio_origem, arquivo)
- caminho_destino = os.path.join(diretorio_destino_php, arquivo)
- shutil.move(caminho_origem, caminho_destino)
- arquivos_movidos_php += 1
- log.append((arquivo, 'PHP'))
- if iso_var.get() and arquivo.lower().endswith('.iso'):
- caminho_origem = os.path.join(diretorio_origem, arquivo)
- caminho_destino = os.path.join(diretorio_destino_iso, arquivo)
- shutil.move(caminho_origem, caminho_destino)
- arquivos_movidos_iso += 1
- log.append((arquivo, 'ISO'))
- mensagem = ""
- if video_var.get():
- mensagem += f'{arquivos_movidos_videos} arquivo(s) de vídeo movido(s) para a subpasta "Videos".\n'
- if imagem_var.get():
- mensagem += f'{arquivos_movidos_imagens} arquivo(s) de imagem movido(s) para a subpasta "Imagens".\n'
- if musica_var.get():
- mensagem += f'{arquivos_movidos_musicas} arquivo(s) de música movido(s) para a subpasta "Músicas".\n'
- if documento_var.get():
- mensagem += f'{arquivos_movidos_documentos} arquivo(s) de documento movido(s) para a subpasta "Documentos".\n'
- if icones_var.get():
- mensagem += f'{arquivos_movidos_icones} arquivo(s) de ícone movido(s) para a subpasta "Ícones".\n'
- if compactados_var.get():
- mensagem += f'{arquivos_movidos_compactados} arquivo(s) compactado(s) movido(s) para a subpasta "Arquivos Compactados".\n'
- if php_var.get():
- mensagem += f'{arquivos_movidos_php} arquivo(s) de PHP movido(s) para a subpasta "PHP".\n'
- if iso_var.get():
- mensagem += f'{arquivos_movidos_iso} arquivo(s) ISO movido(s) para a subpasta "ISO".\n'
- data_hora = datetime.now().strftime('%d-%m-%Y-%H-%M-%S')
- nome_arquivo_log = f'log-{data_hora}.txt'
- with open(nome_arquivo_log, 'a') as arquivo_log:
- arquivo_log.write(f'Registro de movimentação de arquivos ({data_hora.replace("-", " ")})\n')
- for item in log:
- arquivo_log.write(f'{item[0]} movido para a pasta {item[1]}\n')
- arquivo_log.write('\n')
- messagebox.showinfo('Concluído', mensagem)
- def abrir_link():
- webbrowser.open('https://www.youtube.com/@neptunus3913')
- root = tk.Tk()
- root.title('Organizador de Arquivos')
- root.geometry('400x500')
- root.resizable(False, False)
- largura_tela = root.winfo_screenwidth()
- altura_tela = root.winfo_screenheight()
- pos_x = (largura_tela - root.winfo_reqwidth()) // 2
- pos_y = (altura_tela - root.winfo_reqheight()) // 2
- root.geometry(f"+{pos_x}+{pos_y}")
- video_var = tk.BooleanVar()
- imagem_var = tk.BooleanVar()
- musica_var = tk.BooleanVar()
- documento_var = tk.BooleanVar()
- icones_var = tk.BooleanVar()
- compactados_var = tk.BooleanVar()
- php_var = tk.BooleanVar()
- iso_var = tk.BooleanVar()
- rotulo_instrucoes = tk.Label(root, text='Selecione os tipos de arquivos que deseja mover\npara as sub-pastas', font=('Arial', 12))
- rotulo_instrucoes.pack(pady=10)
- check_video = tk.Checkbutton(root, text='Videos', variable=video_var, font=('Arial', 12))
- check_video.pack(anchor='w')
- check_imagem = tk.Checkbutton(root, text='Imagens', variable=imagem_var, font=('Arial', 12))
- check_imagem.pack(anchor='w')
- check_musica = tk.Checkbutton(root, text='Músicas', variable=musica_var, font=('Arial', 12))
- check_musica.pack(anchor='w')
- check_documento = tk.Checkbutton(root, text='Documentos', variable=documento_var, font=('Arial', 12))
- check_documento.pack(anchor='w')
- check_icones = tk.Checkbutton(root, text='Ícones', variable=icones_var, font=('Arial', 12))
- check_icones.pack(anchor='w')
- check_compactados = tk.Checkbutton(root, text='Arquivos Compactados', variable=compactados_var, font=('Arial', 12))
- check_compactados.pack(anchor='w')
- check_php = tk.Checkbutton(root, text='PHP', variable=php_var, font=('Arial', 12))
- check_php.pack(anchor='w')
- check_iso = tk.Checkbutton(root, text='ISO', variable=iso_var, font=('Arial', 12))
- check_iso.pack(anchor='w')
- botao_mover = tk.Button(root, text='Mover Arquivos', command=mover_arquivos, font=('Arial', 14))
- botao_mover.pack(pady=20)
- label_by = tk.Label(root, text='2023 ©Neptunus', font=('Arial', 12), fg='blue', cursor='hand2')
- label_by.pack(side=tk.BOTTOM, anchor=tk.SE, padx=10, pady=10)
- label_by.bind('<Button-1>', lambda e: abrir_link())
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement