
Estoy intentando limpiar una unidad de archivos duplicados y he editado un lote que encontré que enumerará todos los archivos duplicados en un documento de texto para revisarlo más tarde y determinar cuál conservar. El problema que tengo actualmente es que enumera todos los archivos duplicados, pero no enumera la ruta del archivo original. Lo ideal sería que el archivo de texto tuviera el formato siguiente:
Archivo original1
- Tamaño de copia 1
- Tamaño de copia 2 - Tamaño de
copia 3
Archivo original1
- Tamaño de copia 1
- Tamaño de copia 2
Este es el lote que estoy usando actualmente:
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
Todavía estoy aprendiendo, pero actualmente lo más cerca que puedo acercarme al formato es
copia1
copia2
copia3
copia1
copia2