Прочее компьютерное

Есть ли способы сразу удалить большое количество разных файлов в папке, анализируя их количество в другой?

Задача следующая. Есть две папки с файлами с одинаковыми именами. В первой их полторы тысячи, во второй 700 штук - остальные удалены в разноброд, не по порядку. Есть ли какие нить способы или программы в один клик удалить из первой папки те файлы - которых нет во второй, естественно файлы которые присутствуют во второй чтобы остались в первой?
TM
Timyr Mustafin
264
Не проще ли удалить всё из первой и скопировать в неё содержимое второй?.. =))..
З. Ы. Правильно поставленный вопрос - половина успеха.
Павел Харисов
Павел Харисов
36 636
Лучший ответ
Простейший способ - написать сценарий для командной строки Windows. Нужно сохранить текстовый файл с расширением .cmd и запустить его.
Примечания к тексту файла:
-- естественно, вместо FirstFolder и SecondFolder нужно будет вписать нужные вам пути (например, set FirstFolder=C:\Users\Public\Pictures)
-- есть более цивилизованные способы сделать это, но вам и такого хватит
--- Ниже располагается текст сценария ---
@echo off
rem Этот сценарий командной строки Windows удаляет из папки FirstFolder
rem все файлы, для которых нет одноименных аналогов в папке SecondFolder.
set FirstFolder=C:\FirstFolder
set SecondFolder=D:\SecondFolder
for %%S in ("%FirstFolder%\*") do (
if not exist "%SecondFolder%\%%~nxS" erase "%%~S" /f /q
)
--- Конец текста сценария ---
Остается только добавить, что команда erase необратима - так что на свой страх и риск, сначала протестируйте на паре папок с несколькими ненужными файлами.
!! Поправил, теперь можно использовать пути с пробелами (ну, и так можно было, но на всякий пожарный) .
UPD: Я потестил - ошибок нет. Только имейте ввиду, движок ответов к каждой строке цепляет символ (выглядит в блокноте как пробел) - лучше удалите (для строк, где есть set точность указания имен папок критична).