У меня есть два диска, скажем, диск A (F:) и диск B (G:). Однажды я скопировал все содержимое диска B на диск A. Но после этого на дискB добавлены новые файлы и папки. Я хотел бы удалить дубликаты файлов и папок с диска B и оставить только те, которые не существуют на диске A.
Я попробовал приведенную ниже команду просто для того, чтобы проверить, найдены ли дубликаты, но она не работает так, как я хотел, потому что у нее полный путь в переменной %%a
.
Конечно, вывод, который теперь имеет echo %%a
будет заменен эквивалентом DEL
если он работает.
@echo off
for /F "tokens=*" %%a in ('dir G:\*.* /b /s') do if not exist "F:\%%a" echo %%a >> C:\Users\billy\Desktop\files.txt
pause
Если я удаляю ключ /s
из команды dir
он работает, потому что %%a
имеет только имя файла вместо полного пути, но он не работает рекурсивно для подпапок, поэтому он не так полезен.