
Estou tentando limpar uma unidade de arquivos duplicados e editei um lote que encontrei que listará todos os arquivos duplicados em um documento de texto para revisar mais tarde e determinar qual deles manter. O problema que estou tendo atualmente é que ele lista todos os arquivos duplicados, mas não lista o caminho do arquivo original. Idealmente, eu gostaria que o arquivo de texto fosse formatado assim:
Arquivo original1
-Tamanho da cópia1
-Tamanho da cópia2
-Tamanho da cópia3
Arquivo original1
-Tamanho da cópia1
-Tamanho da cópia2
Este é o lote que estou usando atualmente:
setlocal disableDelayedExpansion
set root="c:\users\devon\desktop\test"
set "prevTest=none"
for /f "tokens=1-3 delims=:" %%A in (
'"(for /r "%root%" %%F in (*) do @echo %%~nxF:%%~fF:)|sort"'
) do (
set "currTest=%%A"
set size=%%~zC
set "currFile=%%B:%%C"
setlocal enableDelayedExpansion
if !currTest! equ !prevTest! (
>>C:\d\test.txt echo !currFile! : !size! Bytes
)
endlocal
set "prevTest=%%A"
)
pause
Ainda estou aprendendo, mas atualmente o mais próximo que posso chegar do formato é
cópia1
cópia2
cópia3
cópia1
cópia2