Прочее компьютерное
Есть ли способы сразу удалить большое количество разных файлов в папке, анализируя их количество в другой?
Задача следующая. Есть две папки с файлами с одинаковыми именами. В первой их полторы тысячи, во второй 700 штук - остальные удалены в разноброд, не по порядку. Есть ли какие нить способы или программы в один клик удалить из первой папки те файлы - которых нет во второй, естественно файлы которые присутствуют во второй чтобы остались в первой?
Не проще ли удалить всё из первой и скопировать в неё содержимое второй?.. =))..
З. Ы. Правильно поставленный вопрос - половина успеха.
З. Ы. Правильно поставленный вопрос - половина успеха.
Простейший способ - написать сценарий для командной строки 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 точность указания имен папок критична).
Примечания к тексту файла:
-- естественно, вместо 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 точность указания имен папок критична).
Похожие вопросы
- Подскажите кто знает, как переименовать большое количество mp3 файлов.
- В Windows XP не удается показать скрытые файлы и папки. Помогите.
- Как узнать количество всех файлов одного типа во всех папка и подпапках и подпапках подпапок?
- Как узнать какая папка занимает наибольшее количество памяти на моем ПК?
- Помогите удалить файлы с папки System Volume Information в ней мусора аш на 25гб жалко.
- Почему появляется вот такой файл в папках (см. картинку)
- Нужно переместить файлы (2500 файлов) с папок где они сейчас лежат, на один шаг выше, как это сделать???
- после вируса, проблемы с отображением скрытых файлов и папок
- Какие из перечисленных файлов и папок можно спокойно удалить с жесткого диска?
- Как увидеть все, в т. ч. скрытые файлы и папки на флешке?