Пару дней назад столкнулся с одной проблемой, после обработки ОЧЕНЬ большого количества фотографий с помощью софта, он ложил все файлы в одну папку.
Хоть изначально в программе и стоит функция перезаписи файлов оригинала на обработанный, но работает функционал криво и заменяет не все файлы.
Вариантов оставалось не много, либо искать другой софт для такой же обработки или же искать решение по переносу файлов в свои папки.
Для визуального представления, смотрите пример:
Есть Одна папка (/photo-start/), в которой вложено более 100 папок (/photo-start/name1/name2/2010/) , после обработка все фотографии/файлы были помещены в папку /finish-photo/
В ручную переносить тысячи файлов по папкам, это адская работа и пришлось искать автоматическое решение проблемы, чтобы с папки с обработанными файлами, перенести все данные в изначальное место их расположения.
Твиттер подсказал решение и дал надежду решить эту проблему:
@vasilenkolife проще было их после обработки кидать в свои папки. А теперь, наверное, только bash-скрипт писать с find.
— Иван (@ivanxp) 13 Март 2015
Так как с bash я не силен, то решил поискать скрипт/софт который уже возможно написан. Но, ничего талкового не нашел, все работало не так как нужно и заменяло не все файлы (возможно из названий на русском)
Через пару минут поиска нашел другой простой способ замены файлов с сохранением иерархии папок:
1 | replace C:\Users\USER\Documents\uploads\* C:\Users\USER\Documents\uploads2\ /s |
1. Пишем путь от куда переносить файлы
2. Указываем папку где их заменять/перезаписывать
3. Ставим на конце ключ /s, который отвечает за замену файлов с сохранением структуры папок, то есть во всех подпапках целевой папки, вместе со всем их содержимым;
Для того чтобы выполнить команду, нужно открыть CMD исполнитель, сделать это можно с помощью сочетания клавиш WIN + R и в поиске написать CMD
Вот такое простое и банальное решение, возможно ещё кому-то пригодится.
И кстати с помощью этой команды, можно заменить везде любой файл конфига, настроек, htaccess и т.д, для этого выполняем команду с ИМЕНЕМ ФАЙЛА
1 | replace C:\Users\USER\Documents\uploads\config.php C:\Users\USER\Documents\uploads2\ /s |
В этом случаи файл config.php будет заменен во всех папках и подпапках, иногда это очень удобный и быстрый способ!