vasilenko.info

Как массово заменить файлы в папках после обработки?

Обучение 2 комментария

Заменяем массово файлы в автоматическом режиме
промо44 инструмента для сайтовГенераторы, конвертеры и проверки — всё считает браузер.Открыть

Пару дней назад столкнулся с одной проблемой, после обработки ОЧЕНЬ большого количества фотографий с помощью софта, он ложил все файлы в одну папку.

Хоть изначально в программе и стоит функция перезаписи файлов оригинала на обработанный, но работает функционал криво и заменяет не все файлы.

Вариантов оставалось не много, либо искать другой софт для такой же обработки или же искать решение по переносу файлов в свои папки.

Для визуального представления, смотрите пример:

Есть Одна папка (/photo-start/), в которой вложено более 100 папок (/photo-start/name1/name2/2010/) , после обработка все фотографии/файлы были помещены в папку /finish-photo/

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

Твиттер подсказал решение и дал надежду решить эту проблему:

проще было их после обработки кидать в свои папки. А теперь, наверное, только bash-скрипт писать с find.

— Иван (@ivanxp) 13 Март 2015

промоИнструменты вместо ручной работыСорок четыре генератора, конвертера и проверки — всё считается в браузере.Посмотреть все

Так как с bash я не силен, то решил поискать скрипт/софт который уже возможно написан. Но, ничего талкового не нашел, все работало не так как нужно и заменяло не все файлы (возможно из названий на русском)

Через пару минут поиска нашел другой простой способ замены файлов с сохранением иерархии папок:


replace C:\Users\USER\Documents\uploads\* C:\Users\USER\Documents\uploads2\ /s

1. Пишем путь от куда переносить файлы
2. Указываем папку где их заменять/перезаписывать
3. Ставим на конце ключ /s, который отвечает за замену файлов с сохранением структуры папок, то есть во всех подпапках целевой папки, вместе со всем их содержимым;

Для того чтобы выполнить команду, нужно открыть CMD исполнитель, сделать это можно с помощью сочетания клавиш WIN + R и в поиске написать CMD

Вот такое простое и банальное решение, возможно ещё кому-то пригодится.

И кстати с помощью этой команды, можно заменить везде любой файл конфига, настроек, htaccess и т.д, для этого выполняем команду с ИМЕНЕМ ФАЙЛА


replace C:\Users\USER\Documents\uploads\config.php C:\Users\USER\Documents\uploads2\ /s

В этом случаи файл config.php будет заменен во всех папках и подпапках, иногда это очень удобный и быстрый способ!

промоКалькулятор ROIСчитает окупаемость кампании прямо в браузере, без регистрации.Открыть

Комментарии (2)

Обсуждение перенесено вместе с записью: даты и авторы те же, что были. Новые комментарии к архивным записям не принимаются.

  1. seoonly.ru

    Шикарно. Спасибо, помогло

  2. Михаил

    Большое спасибо. Очень помогло. Только пришлось сначала создать путь к папкам без пробелов (у меня пробелами было — не получалось), и еще пришлось убрать слеш в конце пути ко второй папке, то есть, не «C:UsersUSERDocumentsuploads2», как в вашем примере, а «C:UsersUSERDocumentsuploads2».