@echo off setlocal enabledelayedexpansion :: Nome do arquivo de saída set "arquivo_saida=duplicados.txt" :: Limpa o arquivo de saída se ele já existir if exist "%arquivo_saida%" del "%arquivo_saida%" echo Analisando arquivos duplicados na pasta... echo. > "%arquivo_saida%" echo ARQUIVOS DUPLICADOS ENCONTRADOS >> "%arquivo_saida%" echo ========================================= >> "%arquivo_saida%" echo. >> "%arquivo_saida%" :: Variável para armazenar os nomes sem extensão set "nomes_arquivos=" :: Primeiro loop: coleta todos os nomes sem extensão for %%f in (*.*) do ( set "arquivo=%%~nf" set "nomes_arquivos=!nomes_arquivos!!arquivo! " ) :: Contadores set /a total_duplicados=0 set /a arquivos_verificados=0 :: Segundo loop: verifica duplicatas for %%f in (*.*) do ( set "arquivo_atual=%%~nf" set /a count=0 :: Verifica quantas vezes o nome aparece for %%a in (!nomes_arquivos!) do ( if "%%a"=="!arquivo_atual!" ( set /a count+=1 ) ) :: Se encontrou duplicata e ainda não foi registrada if !count! gtr 1 ( find /i "!arquivo_atual!:" "%arquivo_saida%" > nul if errorlevel 1 ( echo !arquivo_atual!: >> "%arquivo_saida%" set /a total_duplicados+=1 :: Lista todos os arquivos com esse nome for %%d in ("!arquivo_atual!.*") do ( echo - %%~nxd >> "%arquivo_saida%" ) echo. >> "%arquivo_saida%" ) ) set /a arquivos_verificados+=1 ) echo. >> "%arquivo_saida%" echo Total de arquivos verificados: !arquivos_verificados! >> "%arquivo_saida%" echo Total de nomes duplicados encontrados: !total_duplicados! >> "%arquivo_saida%" echo Análise concluída. Resultados salvos em "%arquivo_saida%". pause

Postar um comentário

0 Comentários