Como unir duas coleções de ROMs preservando as versões traduzidas (sem duplicatas)
Publicado por Xerxes em 16/09/2025
[ Hits: 105 ]
Contra (USA).zip
da pasta de originais se já tivermos um Contra.zip
na nossa pasta de traduções.
Double Dragon (USA).zip
, e remove todas as informações extras (como (USA)
, (Japan)
, (Rev 1)
) e a extensão .zip
, resultando em um nome "limpo", como Double Dragon
.
Ctrl + Alt + T
).
nano
:
nano
.
PASTA1="/caminho/para/sua/pasta_traduzida"
PASTA2="/caminho/para/sua/pasta_originais"
nano
pressionando Ctrl + X
, depois Y
e, por fim, Enter
.
prossiga
e tecle Enter para ver sua coleção de ROMs ficar ainda mais completa!
#!/bin/bash # --- CONFIGURAÇÃO --- # !!! IMPORTANTE: Altere os caminhos abaixo para os caminhos corretos das suas pastas !!! PASTA1="/media/xerxes/MMPLUS/Roms/FC" # Pasta de destino (suas ROMs traduzidas) PASTA2="/home/xerxes/Downloads/tiny-best-set-go-games/Roms/FC" # Pasta de origem (ROMs não traduzidas) # -------------------- # Verifica se os diretórios existem if [ ! -d "$PASTA1" ] || [ ! -d "$PASTA2" ]; then echo "❌ Erro: Um ou ambos os diretórios não foram encontrados. Verifique os caminhos no script." exit 1 fi echo "Pasta de ROMs Traduzidas (Destino): $PASTA1" echo "Pasta de ROMs Originais (Origem): $PASTA2" echo "-----------------------------------------------------" echo "🔎 Fase 1: Analisando quais jogos da Pasta 2 podem ser copiados..." echo "-----------------------------------------------------" # Array para armazenar a lista de jogos a serem copiados JOGOS_A_COPIAR=() # Loop através de cada arquivo .zip na Pasta 2 for JOGO_ORIGEM in "$PASTA2"/*.zip; do # Pega apenas o nome do arquivo, sem o caminho NOME_ARQUIVO_ORIGEM=$(basename "$JOGO_ORIGEM") # Normaliza o nome: remove tudo a partir do primeiro parêntese ou colchete # e também remove a extensão .zip NOME_NORMALIZADO=$(echo "$NOME_ARQUIVO_ORIGEM" | sed -E 's/ \(.+\)//g; s/ \[.+\]//g; s/\.zip$//') # Verifica se um arquivo com o nome normalizado já existe na Pasta 1 EXISTE_NA_PASTA1=$(find "$PASTA1" -maxdepth 1 -type f -name "$NOME_NORMALIZADO*.zip" | head -n 1) if [ -z "$EXISTE_NA_PASTA1" ]; then # Se a variável estiver vazia, o jogo não existe na Pasta 1 echo " [+] Adicionar à lista de cópia: '$NOME_ARQUIVO_ORIGEM'" JOGOS_A_COPIAR+=("$JOGO_ORIGEM") else # O jogo já existe, então não fazemos nada : fi done echo "-----------------------------------------------------" echo "✨ Análise concluída!" echo "" # Verifica se há jogos para copiar if [ ${#JOGOS_A_COPIAR[@]} -eq 0 ]; then echo "Nenhum jogo novo para copiar. Sua coleção já está completa!" exit 0 fi echo "Serão copiados ${#JOGOS_A_COPIAR[@]} novos jogos para a sua coleção." echo "" read -p "Deseja prosseguir com a cópia? (digite 'prossiga' e pressione Enter): " CONFIRMACAO # Verifica a confirmação do usuário if [ "$CONFIRMACAO" == "prossiga" ]; then echo "" echo "🚀 Iniciando a cópia..." for JOGO_PARA_COPIAR in "${JOGOS_A_COPIAR[@]}"; do cp -v "$JOGO_PARA_COPIAR" "$PASTA1/" done echo "" echo "✅ Cópia concluída com sucesso!" else echo "" echo "❌ Operação cancelada pelo usuário. Nenhum arquivo foi copiado." fi
Botão "logout" na barra de ferramentas LXDE
Teamviewer não abre no Slackware [Resolvido]
Removendo kernel antigo no Fedora de forma simples
Instalar Popcorn Time no Linux Mint (Ubuntu)
Jogue de graça Brutal Doom: Hell on Earth Starter Pack
Documentário: Indie Game - The Movie
Problema do eventfd: Too many open files - Steam/Wine games no Void Linux [Resolvido]
Nenhum coment�rio foi encontrado.
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Como unir duas coleções de ROMs preservando as versões traduzidas (sem duplicatas)
Como instalar o Telegram Desktop no Ubuntu 24.04
Overclocking Permanente para Drastic no Miyoo Mini Plus
Problemas de chaves (/usr/share/keyrings) no Debian
Converter os repositórios Debian para o novo formato com as chaves