Замена файлов в подпапках с учетом структуры

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Avada
Подожди с "понятно". В первом посте было написано:
vik313 писал(а):как заменить файлы, которые находятся в подпапках на файлы, которые находятся в 1 папке в соседней файловой панели?
При том, что в ней
vik313 писал(а):находятся те же файлы, но без подпапок
Где тут связь? 1 — это первой или одной?

P.S.: А пост он с темой спутал. Зуб даю. :wink:
Skif_off писал(а):Batya ведь преимущественно батники делает? Любопытно.
Ага. Их аж целых два на форуме: 1, 2. :mrgreen:
Последний раз редактировалось Flasher Чт апр 11, 2019 08:59, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Avada
В одной вкладке со структурой, в другой свалены в кучу: из кучи брать файлы по очереди и искать файл с тем же именем в структуре каталогов, потом перенести из кучи в найденный подкаталог с заменой - копирование в выделенные подкаталоги может и сработать, но если по одному, а на пачке файлов вручную было бы дико, выходит автоматизация...
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Skif_off писал(а):искать файл с тем же именем в структуре каталогов
Тактически неверно. Нужно перебирать структуру получателя и закидывать файлы при наличии одноимённых в источнике.
Skif_off писал(а):выходит автоматизация
Он в курсе про раздел. Он хочет узнать тему, и про оставлять топик либо отправить в небытие.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher писал(а): 1 — это первой или одной?
В одной. Это подтверждено позже.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Тогда тут нет смысла выводить без подкаталогов. Всё проще простого:

Код: Выделить всё

TOTALCMD#BAR#DATA
%ComSpec% /q/c for /f "usebackq delims= eol=" %f in
(`dir "%T" /a-d/b/s`) do if exist "%%~nxf" move /y "%%~nxf" "%%~dpf\"
syncui.dll,11
Заменить файлы в структуре пассивной|панели переносимыми дублями из активной

1

Код: Выделить всё

TOTALCMD#BAR#DATA
%ComSpec% /q/c for /r
"%T" %%d in (.) do >nul xcopy /chkqruy *.* "%%~fd\"
syncui.dll,12
Заменить файлы в структуре пассивной|панели копиями одноимённых из активной

1
Последний раз редактировалось Flasher Пт апр 12, 2019 06:23, всего редактировалось 3 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
Да, всё работает. Тут ещё только вопрос в том, что понимается под этими возвратами и заменами: копирование или (как сейчас) перемещение? Может, он в этой общей папке и дальше что-то править хотел, к примеру... Ну и проблема дублей, само собой. Про неё топик-стартер не написал ни слова, и учитывать её поэтому никто не обязан, но что там на самом деле ни в одной из этих сотен папок нет совпадающих имён — не факт.
В любом случае пора переносить это в Автоматизацию, что я и делаю.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Avada
Я почему-то с самого начала думал, что нужно перемещать. Если копировать, то там можно немного иначе сделать.
А проблема дублей откуда, если одноимёнки как раз и требуется заменять? Или ты про то, что несколько одноимённых могут в структуре получателя присутствовать? Полагаю, что их отсутствие vik313 предусмотрел.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

У меня похожая задача всплывала, только подпапок не сотни, поскромнее, и чтобы не париться с поиском и проверками: скопировал список полных имён файлов в каталоге назначения, вставил в Calc, потом вставил ещё раз, в первом столбце регэкспами вычистил пути, оставив только имена, дописал команду и ключи в каждую строку и сохранил в скрипт. Что есть - переместиться, ну а чего нет - того нет, проверять не надо.
Идеальным решение не назвал бы, тут немного ручной работы, но один раз, предварительно, зато не долбишь винт поиском и проверкой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher писал(а): Или ты про то, что несколько одноимённых могут в структуре получателя присутствовать? Полагаю, что их отсутствие vik313 предусмотрел.
Да, я про это. А что он предусмотрел, от него хорошо бы узнать.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Avada
В общем, я решил без ожидания топикстартера выложить там же вариант без переноса.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
Во второй кнопке я бы для ясности добавил "копируемыми" (для чёткого противопоставления "переносимым").
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Avada
Можно по-разному интерпретировать обновление. Оно может быть через копирование, а может быть через замену содержимого. Поэтому лучше не указывать, т.к. важен не метод, а результат, не предполагающий удаления из источника, ибо на это нет указания.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
Тогда для не читавшего последующие пояснения человека будет не совсем понятно, чем эти кнопки отличаются и какую лучше использовать для своих целей именно ему.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Avada
ОК. Сформулировал более внятно. "Обновить файлы ... файлами" выглядело косноязычно.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
Да, сейчас явно лучше.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Ответить