2015-01-25 2 views
1

У меня есть большое количество JPEG-файлов, которые были отсортированы и размещены в нескольких разных каталогах. К сожалению, эти каталоги были потеряны - хотя я смог восстановить их из более старой версии. Однако все файлы повреждены.заменить файлы из нескольких каталогов

К счастью, у меня все еще есть файлы JPEG, которые не отсортированы, и я хочу заменить поврежденные файлы этими здоровыми файлами по имени файла. Поэтому в основном просматривайте несортированные файлы и сопоставляйте их с отсортированными файлами. Я узнал, что, используя команду replace, я могу сделать это, и она отлично работает с одним исключением: я могу проходить только по одному исходному каталогу за раз. Это проблема, потому что несортированные JPEG-файлы расположены в ~ 2000 разных каталогах.

То, что я сейчас делаю это:

replace "folder1\folder2\folder3\folder4\*.jpg" "sorted_images_dir" /s 

То, что я хотел бы сделать, это:

replace "folder1\*EVERY SUBDIRECTORY OF folder1*\*.jpg" "sorted_images_dir" /s 

Возможно ли это в командной строке или я должен создать пакетный файл ? Если да, то какой-нибудь совет для этого? Похоже, это была бы довольно простая задача.

+0

является Powershell ответ достаточно хорошо? – SingleNegationElimination

ответ

0

прочитайте HELP FOR и попробуйте FOR /D %a in (*) do @echo %a таким образом, вы можете перебирать все папки в текущем каталоге.

Затем вы можете попробовать FOR /D /R %a in (*) do @echo %a, чтобы рекурсивно перебирать все папки и подпапки.

Итак, наконец, вы можете попробовать

FOR /D /R %a in (*) do @replace "%a\*.jpg" "sorted_images_dir" /s 
Смежные вопросы