Скрипт для записи в HTML-файлы информации о файлах JPG
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
- Yurbanizator
- Сообщения: 26
- Зарегистрирован: Ср дек 13, 2006 22:44
Скрипт для записи в HTML-файлы информации о файлах JPG
Друзья, прошу помощи!
Сам в скриптах не силен, а очень нужен для работы скриптик для обработки файлов по следующему алгоритму.
1. Скрипт получает имя директории как параметр.
2. Проверяет директорию на на наличие в нем файлов jpeg
3. Если такие файлы есть переименовывает их по порядку 1.jpg, 2.jpg, 3.jpg и т.д. до последнего файла
4. Создает соответствующие файлы html в этой же директории 1.html, 2.html, 3.html и т.д. для каждого файла jpg
5. В html файлы записывает имя соответствующего файла jpg и его высоту и ширину.
6. Сообщает об удачном окончании операции и количестве обработанный файлов jpg
На скриншоте №1 слева - исходная директория, справа - после выполнения скрипта.
На скриншоте №2 - файл 1.html созданный скриптом.
Заранее спасибо!
[mod="Avada"]Замечание за нарушение правил форума. Неформатные картинки заменены ссылками.[/mod]
Сам в скриптах не силен, а очень нужен для работы скриптик для обработки файлов по следующему алгоритму.
1. Скрипт получает имя директории как параметр.
2. Проверяет директорию на на наличие в нем файлов jpeg
3. Если такие файлы есть переименовывает их по порядку 1.jpg, 2.jpg, 3.jpg и т.д. до последнего файла
4. Создает соответствующие файлы html в этой же директории 1.html, 2.html, 3.html и т.д. для каждого файла jpg
5. В html файлы записывает имя соответствующего файла jpg и его высоту и ширину.
6. Сообщает об удачном окончании операции и количестве обработанный файлов jpg
На скриншоте №1 слева - исходная директория, справа - после выполнения скрипта.
На скриншоте №2 - файл 1.html созданный скриптом.
Заранее спасибо!
[mod="Avada"]Замечание за нарушение правил форума. Неформатные картинки заменены ссылками.[/mod]
Код: Выделить всё
'================================================================
' Переименовать jpeg-файлы в активном каталоге на номер счётчика
' Создать рядом одноимённые html с записью размеров картинок
' Условие - путь запуска пустой
'================================================================
Dir = CreateObject("WScript.Shell").CurrentDirectory
Set Fd = CreateObject("Shell.Application").NameSpace(Dir) : Set Items = Fd.Items
Items.Filter 64, "*.jpg"
With CreateObject("Scripting.FileSystemObject")
If Items.Count > 0 Then
For Each F In .GetFolder(Dir).Files
Ext = LCase(.GetExtensionName(F))
If (Ext = "jpg" Or Ext = "jpeg") And Not IsNumeric(.GetBaseName(F)) Then
i = i + 1 : Do While .FileExists(i & "." & Ext) : i = i + 1 : Loop
.GetFile(F).Name = i & "." & Ext
Size = CStr(Fd.GetDetailsOf(Fd.ParseName(F.Name), 31))
x = InStr(Size, "x") : H = Left(Size, x - 2)
.OpenTextFile(i & ".html", 2, True, -1).Write _
"<h1> " & i & ".jpg </h1>" & vbNewLine & "height = <b> " & H &_
" </b> " & vbNewLine & "width = <b> " & Mid(Size, x + 2) & " </b>"
End If
Next
End If
End With : CreateObject("WScript.Shell").SendKeys "^R"
Последний раз редактировалось Flasher Сб дек 15, 2012 20:48, всего редактировалось 2 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
- Yurbanizator
- Сообщения: 26
- Зарегистрирован: Ср дек 13, 2006 22:44
Кладу скрипт в папку с изображениями. Запускаю. Вылетает ошибка.
При этом первое изображение обрабатывает.
При этом первое изображение обрабатывает.
Честно, сам в недоумении.
Почему-то метод Write на 7-ке не хочет писать значения, возвращённые из стандартных функций.
В XP такого бреда нет.. Ещё подумаю.
Скрипт вешается элементарно на кнопку, в каждую папку с jpeg его класть не требуется. Тут обсуждаются скрипты для ТС.
Add: цифровые символы юникодные, оказывается.. Пишем html в Юникод, в общем. Поменял в скрипте.
В XP такого бреда нет.. Ещё подумаю.
Скрипт вешается элементарно на кнопку, в каждую папку с jpeg его класть не требуется. Тут обсуждаются скрипты для ТС.
Add: цифровые символы юникодные, оказывается.. Пишем html в Юникод, в общем. Поменял в скрипте.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
- Yurbanizator
- Сообщения: 26
- Зарегистрирован: Ср дек 13, 2006 22:44
Заработал из папки с изображениями, супер!
Повешал его на кнопку, параметр директории передаю "%P", не хочет работать. Может, что не так делаю?
Скрин http://joxi.ru/Z8xU9Ayq
Add: еще не ясен коммент в коде ' Условие - путь запуска пустой
Add2: Dir = CreateObject("WScript.Shell").CurrentDirectory - задает переменной Dir значение директории в которой лежит скрипт, поэтому он ищет изображения в своей директории...
Да, это я прекрасно понимаю, мне он и нужен для ТС.Flasher писал(а):Скрипт вешается элементарно на кнопку, в каждую папку с jpeg его класть не требуется. Тут обсуждаются скрипты для ТС.
Повешал его на кнопку, параметр директории передаю "%P", не хочет работать. Может, что не так делаю?
Скрин http://joxi.ru/Z8xU9Ayq
Add: еще не ясен коммент в коде ' Условие - путь запуска пустой
Add2: Dir = CreateObject("WScript.Shell").CurrentDirectory - задает переменной Dir значение директории в которой лежит скрипт, поэтому он ищет изображения в своей директории...
В условиях скрипта где-то написано про параметры? Нет.Yurbanizator писал(а):Может, что не так делаю?
В кнопке/юзеркоманде такое поле есть. Впервые сталкиваемся?Yurbanizator писал(а):еще не ясен коммент в коде ' Условие - путь запуска пустой
Нет. Возвращает указанный путь рабочей папки, если его нет, то считывает путь активного каталога.Yurbanizator писал(а):задает переменной Dir значение директории в которой лежит скрипт
На будущее: надо не экспериментировать, а следовать описанию шапки..
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
- Yurbanizator
- Сообщения: 26
- Зарегистрирован: Ср дек 13, 2006 22:44
А имена везде менять (jpg/html/в html) ?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
berya
НЕ вижу связи со здешним скриптом. См. сюда.
НЕ вижу связи со здешним скриптом. См. сюда.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Т.е. переименовать список и записать его в один html? Коли так, то в любом случае оффтоп.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.