Страница 1 из 1

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

Добавлено: Вт сен 28, 2010 08:40
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. На первый взгляд работа чепуховая, но это только часть операции, включающая редактирование НТМ, последовательное использование четырех (минимум, но бывает и больше) программ и т.д. для каждой такой папки. Кое что уже автоматизировано худо-бедно. Но даже в этом виде тяжеловато. После обработки трех сотен таких папок, решил обратиться сюда, поскольку любая дополнительная автоматизация существенно облегчает работу при больших объемах.

Добавлено: Вт сен 28, 2010 18:13
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%%"
)
Пробуй.

Добавлено: Ср сен 29, 2010 00:30
Jonmey

Добавлено: Ср сен 29, 2010 00:56
Flasher
На том сайте редирект с некоторых браузеров.
Перезалил. Так быстрей будет.

Добавлено: Ср сен 29, 2010 01:09
Jonmey
Tol!k
Вроде все прекрасно работает.
Высший пилотаж!
Хоть его на хлеб и не намажешь, но все равно, огромное спасибо!

Добавлено: Ср сен 29, 2010 01:34
Tol!k
*Незначительное изменение, устраняющее сообщения "Синтаксическая ошибка..."

Добавлено: Ср сен 29, 2010 01:56
Jonmey
Tol!k
Все работает. Еще раз большое спасибо!