Como unir duas coleções de ROMs preservando as versões traduzidas (sem duplicatas)
Publicado por Xerxes em 16/09/2025
[ Hits: 670 ]
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
Trocando tela de login do Fedora 17
Dando permissão para desligar o computador
[RESOLVIDO] Problem with MergeList (Ubuntu, Mint, Debian, etc)
Acessar Banco do Brasil no Fedora (Instalação e configuração do Java Plugin)
Como instalar Steam no Debian e no LMDE
Tux Games: jogos para seus filhos pequenos
Instalando League of Legends no Slackware64-14.2 com o wine
PokerStars no Xubuntu (Ubuntu)
Restaurando Fontes de Download do Hydra no Linux
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
systemd-resol... precisa ser reiniciado periodicamente [RESOLVIDO] (7)
Bridge - Rede - Ubuntu 24.04 (1)









