{"id":23681663,"url":"https://github.com/vilhalva/copy-pastas","last_synced_at":"2025-09-04T15:46:07.678Z","repository":{"id":255576358,"uuid":"852422102","full_name":"VILHALVA/COPY-PASTAS","owner":"VILHALVA","description":"🎈COPIE O NOME DE TODOS OS ARQUIVOS, DIRETÓRIOS E SUBDIRETÓRIOS.","archived":false,"fork":false,"pushed_at":"2025-06-23T21:10:17.000Z","size":186035,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-23T21:41:52.393Z","etag":null,"topics":["aplicativo","automacao","customtkinter","framework","installer","interface","projeto","python","update","windows"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VILHALVA.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-04T19:21:57.000Z","updated_at":"2025-06-23T21:10:21.000Z","dependencies_parsed_at":"2025-06-23T21:42:44.029Z","dependency_job_id":null,"html_url":"https://github.com/VILHALVA/COPY-PASTAS","commit_stats":null,"previous_names":["vilhalva/copy-pastas"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/VILHALVA/COPY-PASTAS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VILHALVA%2FCOPY-PASTAS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VILHALVA%2FCOPY-PASTAS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VILHALVA%2FCOPY-PASTAS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VILHALVA%2FCOPY-PASTAS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VILHALVA","download_url":"https://codeload.github.com/VILHALVA/COPY-PASTAS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VILHALVA%2FCOPY-PASTAS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273633038,"owners_count":25140772,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-04T02:00:08.968Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aplicativo","automacao","customtkinter","framework","installer","interface","projeto","python","update","windows"],"created_at":"2024-12-29T18:41:08.715Z","updated_at":"2025-09-04T15:46:07.667Z","avatar_url":"https://github.com/VILHALVA.png","language":"Python","readme":"# COPY PASTAS\r\n🎈COPIE O NOME DE TODOS OS ARQUIVOS, DIRETÓRIOS E SUBDIRETÓRIOS.\r\n\r\n\u003cimg src=\"FOTO.png\" align=\"center\" width=\"500\"\u003e \u003cbr\u003e\r\n\r\n## DESCRIÇÃO:\r\nO aplicativo **\"COPY PASTAS\"** é uma ferramenta simples e intuitiva, criada com a biblioteca **CustomTkinter** em Python, para listar e gerenciar caminhos de diretórios e subdiretórios, exibindo a quantidade de arquivos em cada pasta. O usuário pode escolher entre quatro tipos de exibição: apenas arquivos `.mp3`, todos os arquivos (incluindo `.mp3`), nomes em formato JSON ou TXT.\r\n\r\nAlém disso, o aplicativo oferece:\r\n\r\n* Estatísticas detalhadas sobre a quantidade de pastas, arquivos e o espaço de armazenamento usado, livre e total do diretório selecionado.\r\n* Comportamento inteligente dos botões: **\"GERAR\"** só é habilitado após a seleção de um diretório, e os botões **\"LIMPAR\"** e **\"COLAR\"** são ativados apenas após a geração do texto.\r\n* O botão **\"COPIAR\"** exibe uma notificação visual do sistema (Windows/Linux) informando que o conteúdo foi copiado para a área de transferência.\r\n\r\n## FUNCIONALIDADES:\r\n1. **Selecionar Diretório**\r\n   * **Botão \"SELECIONAR\"**: Abre uma janela para o usuário escolher o diretório base. O caminho é exibido em um campo de texto.\r\n\r\n2. **Escolher Tipo de Arquivo**\r\n   * **Botões de Seleção (MP3, TODOS, JSON, TXT)**: Permitem definir como os arquivos serão listados:\r\n      * **MP3**: Lista apenas arquivos `.mp3`.\r\n      * **TODOS**: Lista todos os arquivos, inclusive `.mp3`.\r\n      * **JSON**: Exibe somente os nomes (sem caminhos) em formato de array JSON.\r\n      * **TXT**: Exibe somente os nomes (sem caminhos) como lista simples de texto.\r\n\r\n3. **Gerar Lista de Diretórios e Arquivos**\r\n   * **Botão \"GERAR\"**:\r\n      * Fica desabilitado até um diretório ser selecionado.\r\n      * Processa a estrutura do diretório e lista os arquivos conforme o tipo selecionado.\r\n      * Organiza os diretórios com numeração padronizada.\r\n      * **Formato da Listagem** (MP3 ou TODOS):\r\n      `{01 - 01} \u003c-\u003e PASTA/SUBPASTA \u003c-\u003e {X MUSICAS}` ou `{X ARQUIVOS}`\r\n      * **Exemplo**:\r\n\r\n      ```\r\n      {01 - 01} \u003c-\u003e PASTA 1/SUBPASTA 1 \u003c-\u003e {5 MUSICAS}\r\n      {02 - 06} \u003c-\u003e PASTA 1/SUBPASTA 2 \u003c-\u003e {2 MUSICAS}\r\n      {03 - 08} \u003c-\u003e PASTA 2/SUBPASTA \u003c-\u003e {5 MUSICAS}\r\n      {04 - 13} \u003c-\u003e PASTA 3 \u003c-\u003e {2 MUSICAS}\r\n      ```\r\n      * Ignora acentos nos nomes e a pasta `System Volume Information`.\r\n\r\n4. **Exibir Estatísticas**\r\n   * Após a geração da lista, exibe:\r\n\r\n   * **TOTAL DE PASTAS**\r\n   * **TOTAL DE MUSICAS/ARQUIVOS** (conforme o tipo selecionado)\r\n   * **MEMÓRIA USADA, LIVRE e TOTAL** da unidade de armazenamento\r\n   * **Formato**:\r\n\r\n   ```\r\n   =============================\r\n               ESTATISTICAS:\r\n   =============================\r\n   TOTAL DE PASTAS: 10\r\n   TOTAL DE ARQUIVOS: 171\r\n   MEMÓRIA USADA: 5955 MB\r\n   MEMÓRIA LIVRE: 2108 MB\r\n   TOTAL DE MEMÓRIA: 8064 MB\r\n   =============================\r\n   =============================\r\n   ```\r\n\r\n5. **Copiar para a Área de Transferência**\r\n   * **Botão \"COPIAR\"**:\r\n      * Copia o conteúdo da área de texto (lista + estatísticas).\r\n      * Exibe a mensagem do sistema informando que o conteúdo foi copiado com sucesso.\r\n\r\n6. **Limpar Texto**\r\n   * **Botão \"LIMPAR\"**:\r\n      * Apaga o conteúdo atual exibido na tela.\r\n      * Só é ativado após a geração do texto.\r\n\r\n## POR QUE CRIEI ESTE APP?\r\nApós usar o [DRIVESORT](https://www.anerty.net/software/file/DriveSort/) para manter a ordem dos diretórios e subdiretórios do meu PC em sistemas embarcados, percebi a necessidade de criar um novo aplicativo que armazenasse e listasse os nomes desses diretórios em ordem.\r\n\r\nEu utilizo meus pendrives em diversos sistemas embarcados, como caixas de som e DVDs, que geralmente não têm tela, apenas saídas de áudio. Isso tornava cansativo ter que adivinhar ou memorizar o número dos diretórios/faixas de cada álbum.\r\n\r\n## EXECUTANDO O PROJETO:\r\n1. **Instale as bibliotecas necessárias:** Antes de executar o app, certifique-se de instalar todas as dependências necessárias. No terminal, execute o seguinte comando para instalar as dependências listadas no arquivo requirements.txt em `CODIGO`:\r\n   ```bash\r\n   pip install -r requirements.txt\r\n   ```\r\n   \r\n2. **Inicie o Aplicativo**:\r\n   * Para executar o script Python, navegue até o diretório `./CODIGO` e use o comando:\r\n\r\n   ```bash\r\n   python CODIGO.py\r\n   ```\r\n\r\n3. **Selecione o Diretório**:\r\n   * Clique no botão **\"SELECIONAR\"** para abrir a janela de escolha de diretório. Selecione o diretório base desejado. O caminho será exibido no campo de entrada.\r\n   * O botão **\"GERAR\"** só será habilitado após a seleção de um diretório válido.\r\n\r\n4. **Escolha o Tipo de Listagem**:\r\n   * Antes de gerar a lista, selecione o tipo de conteúdo que deseja listar usando um dos botões:\r\n\r\n     * **MP3**: Apenas arquivos `.mp3`.\r\n     * **TODOS**: Todos os arquivos.\r\n     * **JSON**: Apenas os nomes dos arquivos em formato de array JSON.\r\n     * **TXT**: Apenas os nomes dos arquivos em formato de lista simples (um por linha).\r\n\r\n5. **Gerar a Lista**:\r\n   * Clique no botão **\"GERAR\"** para processar o diretório. O aplicativo percorrerá os subdiretórios e exibirá a listagem conforme o tipo selecionado.\r\n   * Para MP3 ou TODOS, cada linha exibirá a contagem de arquivos no formato:\r\n\r\n     ```\r\n     {01 - XX} \u003c-\u003e PASTA/SUBPASTA \u003c-\u003e {X MUSICAS/ARQUIVOS}\r\n     ```\r\n   * Abaixo da listagem, serão exibidas as estatísticas de:\r\n\r\n     * Total de pastas\r\n     * Total de arquivos (ou músicas)\r\n     * Espaço usado, livre e total do armazenamento\r\n   * Os botões **\"LIMPAR\"** e **\"COLAR\"** só serão habilitados após essa geração.\r\n\r\n6. **Copie a Lista**:\r\n   * Após a geração, clique no botão **\"COPIAR\"** para copiar todo o conteúdo exibido (lista e estatísticas) para a área de transferência.\r\n   * Uma notificação do sistema será exibida informando que o conteúdo foi copiado com sucesso.\r\n\r\n7. **Limpe o Texto**:\r\n   * Para limpar a área de texto e começar novamente, clique no botão **\"LIMPAR\"**.\r\n   * Esse botão ficará habilitado somente após a geração da lista.\r\n\r\n## SOBRE O EXECUTAVEL E O INSTALADOR:\r\n### 1. EXECUTANDO O INSTALADOR:\r\n   * O instalador está localizado no diretório `./APP` e está disponível apenas para sistemas **Windows x64**. Para realizar a instalação, basta **dar dois cliques no arquivo** e seguir as instruções exibidas na tela.\r\n\r\n### 2. GERANDO O EXECUTAVEL:\r\n\u003e **IMPORTANTE:** Antes de criar o instalador, é necessário gerar o arquivo `COPY PASTAS.exe`. Para isso, siga os passos abaixo:\r\n\r\n   **1. Instalação do PyInstaller:**\r\n   * Certifique-se de ter o PyInstaller instalado. Se não tiver, instale usando o comando abaixo:\r\n   ```bash\r\n   pip install pyinstaller\r\n   ```\r\n\r\n   **2. Gerando o Executável:**\r\n   * No diretório `./CODIGO`, utilize o comando abaixo para gerar o executável:\r\n\r\n   ```bash\r\n   pyinstaller EXECUTAVEL.spec\r\n   ```\r\n\r\n   * O executável `COPY PASTAS.exe` será criado na pasta `./CODIGO/dist`.\r\n   * Após a geração, você pode excluir a pasta `./CODIGO/build`.\r\n\r\n### 3. GERANDO O INSTALADOR:\r\n#### PASSO 1: BAIXAR E INSTALAR O INNO SETUP:\r\n1. **Download**: Baixe o Inno Setup do site oficial: [Inno Setup](http://www.jrsoftware.org/isdl.php).\r\n2. **Instalação**: Siga o assistente de instalação para instalar o Inno Setup no seu sistema.\r\n\r\n#### PASSO 2: CRIAR O INSTALADOR:\r\n\u003e **IMPORTANTE:** Antes de criar o novo instalador, certifique-se de excluir o arquivo `./APP/COPY PASTAS.exe`.\r\n\r\n1. **Editar o arquivo do instalador:**\r\n   * No diretório `./CODIGO`, abra o arquivo `INSTALADOR.iss` e atualize o seguinte trecho:\r\n\r\n   * Localize a diretiva `#define Diretorio` e substitua pelo caminho correto do diretório do projeto. Exemplo:\r\n\r\n   ```ini\r\n   #define Diretorio \"C:\\Users\\HP\\Downloads\\GITHUB\\REPOSITORIO\\02-PROJETOS PUBLICOS\\02-APLICATIVOS\\COPY PASTAS\\CODIGO\"\r\n   ```\r\n\r\n2. **Gerar o instalador no Inno Setup:**\r\n   * Abra o arquivo `./CODIGO/INSTALADOR.iss` com o **Inno Setup**.\r\n   * Clique em **\"Compile\"** para gerar o instalador.\r\n\r\n3. **Limpar arquivos temporários:**\r\n   * Após a criação do instalador, você pode excluir o executável temporário `./CODIGO/dist/COPY PASTAS.exe`.\r\n\r\n4. **Instalando o Aplicativo:**\r\n   * Se o `Aplicativo` não iniciar automaticamente a instalação, você pode executar manualmente o arquivo `./APP/COPY PASTAS.exe` clicando duas vezes sobre ele.\r\n   * O assistente de instalação será iniciado e, por padrão, o aplicativo será instalado no seguinte caminho: `C:\\Program Files\\COPY PASTAS`.\r\n\r\n## NÃO SABE?\r\n- Entendemos que para manipular arquivos em muitas linguagens e tecnologias, é necessário possuir conhecimento nessas áreas. Para auxiliar nesse aprendizado, oferecemos cursos gratuitos e alguns subsídios:\r\n* [CURSO DE PYTHON](https://github.com/VILHALVA/CURSO-DE-PYTHON)\r\n* [CURSO DE CUSTOMTKINTER](https://github.com/VILHALVA/CURSO-DE-CUSTOMTKINTER)\r\n* [CURSO DE AUTOMACAO](https://github.com/VILHALVA/CURSO-DE-AUTOMACAO)\r\n* [CONFIRA MAIS CURSOS](https://github.com/VILHALVA?tab=repositories\u0026q=+topic:CURSO)\r\n* [DOCUMENTAÇÃO OFICIAL DO PYINSTALLER](https://pyinstaller.org/en/stable/)\r\n* [DOCUMENTAÇÃO OFICIAL DO INNO SETUP](http://www.jrsoftware.org/isinfo.php)\r\n\r\n## CREDITOS E MAIS:\r\n- [PROJETO CRIADO PELO VILHALVA](https://github.com/VILHALVA)\r\n- [CLIQUE AQUI PARA VER O HISTÓRICO DE ATUALIZAÇÕES](./UPDATES.md)\r\n\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvilhalva%2Fcopy-pastas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvilhalva%2Fcopy-pastas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvilhalva%2Fcopy-pastas/lists"}