Помогите создать кнопку со специфической функцией

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

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

Ответить
Jonmey
Сообщения: 59
Зарегистрирован: Пн сен 27, 2010 14:01

Помогите создать кнопку со специфической функцией

Сообщение Jonmey »

Помогите создать кнопку со следующей функцией:
в каталоге лежат файлы, среди которых имеются картинки (.gif, .png, jpg), а также один или более файлов .htm (.html) со связанными с ними папками. Остальные файлы и папки в данной папке нас не интересуют; задача состоит в следующем - необходимо сначала копировать (но не переместить) все картинки в папку или в каждую (если их больше одной) из папок связанных с .htm файлом (находящихся в этой же папке, что и картинки), а затем переместить все эти .htm файлы в новую папку (вместе со связанными папками), создаваемую в этом же каталоге. Имя этой папки постоянное и может быть явно указано, например, \readme
____________________

Структура простая таких каталогов простая, например:

123_files (или 123.files)
123.htm (или 123.html)
Таких пар может быть одна, две, три, четыре
987987987.gif (0 или более штук)
979878798.png (0 или более штук)
787987799.jpg (0 или более штук)
Кроме этого в этом каталоге могут иметься какие-то другие файлы и папки, которые не интересуют и не обрабатываются (имена их не пересекаются с вышеперечисленными).

Необходимо все картинки переместить в каждую из папок вида 123_files (или 123.files), а затем создать в этом же каталоге папку с любым произвольным, но одинаковым именем (напр. \readme) и переместить в нее все html пары (файл+папка).

А поскольку каталогов с подобным содержимым тьма, то и возникла потребность в этой кнопке.

Важное примечание - имена путей и файлов могут быть длинными (>8 символов) и содержать пробелы.

Пример подобной папки до обработки (\before ) и после (\after) (все файлы имеют нулевые размеры):

Example.rar
____________________
P.S. На первый взгляд работа чепуховая, но это только часть операции, включающая редактирование НТМ, последовательное использование четырех (минимум, но бывает и больше) программ и т.д. для каждой такой папки. Кое что уже автоматизировано худо-бедно. Но даже в этом виде тяжеловато. После обработки трех сотен таких папок, решил обратиться сюда, поскольку любая дополнительная автоматизация существенно облегчает работу при больших объемах.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Не могу скачать архив. Дай нормальную ссылку на filesonic или hotfile или uploadbox

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

@echo off &chcp 1251 >nul
setlocal enableextensions

set "all=Readme"
if not exist "%all%" md "%all%"

for /d %%i in (*_files *.files) do (
copy /y *.gif "%%i" &copy /y *.jpg "%%i" &copy /y *.png "%%i"

set "name=%%i"
call move /y "%%name:_files=.htm?%%" "%%all%%"
call move /y "%%name:.files=.htm?%%" "%%all%%"
)
Пробуй.
Последний раз редактировалось Tol!k Ср сен 29, 2010 01:21, всего редактировалось 1 раз.
Jonmey
Сообщения: 59
Зарегистрирован: Пн сен 27, 2010 14:01

Сообщение Jonmey »

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

Сообщение Flasher »

На том сайте редирект с некоторых браузеров.
Перезалил. Так быстрей будет.
Jonmey
Сообщения: 59
Зарегистрирован: Пн сен 27, 2010 14:01

Сообщение Jonmey »

Tol!k
Вроде все прекрасно работает.
Высший пилотаж!
Хоть его на хлеб и не намажешь, но все равно, огромное спасибо!
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

*Незначительное изменение, устраняющее сообщения "Синтаксическая ошибка..."
Jonmey
Сообщения: 59
Зарегистрирован: Пн сен 27, 2010 14:01

Сообщение Jonmey »

Tol!k
Все работает. Еще раз большое спасибо!
Ответить