Como unir duas coleções de ROMs preservando as versões traduzidas (sem duplicatas)
Publicado por Xerxes em 16/09/2025
[ Hits: 672 ]
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
Como instalar Flash Player no Opera (Slackware)
Garotas-mascote: wallpapers para Linux
Mais de 1 Conky ao mesmo tempo
Aviso de problemas por causa do Typora [Resolvido]
Joystick não funciona no snes9x [Resolvido]
Compilando UnNethack no Kubuntu 16.04
Steam for Linux no Slackware usando SlackBuild de AlienBOB
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.
Não consigo instalar distro antiga no virtualbox nem direto no hd (11)
Quais os códigos mais dificeis que vcs sabem fazer? (12)
systemd-resol... precisa ser reiniciado periodicamente [RESOLVIDO] (7)









