Скрипт для записи в HTML-файлы информации о файлах JPG

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

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

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

Сообщение Flasher »

Под списком и понимались jpg. И тут речь идёт о записи размеров в теги html. И пока я так и не увидел ответ на исходный вопрос.
В любом случае реализацию на завтра уже переносим.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
berya
Сообщения: 46
Зарегистрирован: Вт ноя 15, 2011 22:20
Откуда: kiev

Сообщение berya »

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

Сообщение Flasher »

А, ну тут просто.
i = i + 1 : .GetFile(F).Name = Fd.Self.Name & "_0" & i & "." & Ext
'.....
.OpenTextFile(Fd.Self.Name & "_0" & i & ".html", 2, True, -1).Write _
"<h1> " & Fd.Self.Name & "_0" & i & ".jpg </h1>" & vbNewLine & "height = <b> " & H &_
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Yurbanizator
Сообщения: 26
Зарегистрирован: Ср дек 13, 2006 22:44

Сообщение Yurbanizator »

Если добавляю в папку еще файлы и вызываю скрип, вылетает ошибка http://joxi.ru/EQ84Mf8

Необходимо, что бы добавленные файлы переименовывались продолжая нумерацию.
Если уже есть файлы 1 2 3 4, то новые файлы должны переименовываться в 5 и 6.jpg

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

Сообщение Flasher »

Yurbanizator писал(а):Если добавляю в папку еще файлы и вызываю скрип, вылетает ошибка http://joxi.ru/EQ84Mf8
В памятке для кого написано?:

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

2) Приведите код ошибки, скопированный из вылетевшего окошка по Ctrl+C. Желательно оставить только необходимое (текст сообщения и строку ошибки).
Алгоритмы можно оставить для институтской профессуры :wink: , а тут и так понятно, о чём речь. Исходник дополнен.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
berya
Сообщения: 46
Зарегистрирован: Вт ноя 15, 2011 22:20
Откуда: kiev

Сообщение berya »

Flasher:

Правильно ли будет писать так:
If (Ext = "jpg" Or Ext = "jpeg") And Not IsNumeric(.GetBaseName(F)) Then
i = i + 1 : Do While .FileExists(Fd.Self.Name & "_" & i & "." & Ext ) : i = i + 1 : Loop
.GetFile(F).Name = Fd.Self.Name & "_" & i & "." & Ext

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

Сообщение Flasher »

berya писал(а):Правильно ли будет писать так:
Нуля не хватает после знака подчёркивания.
berya писал(а):Почему при добавлении новых файлов счет начинается не с 1 номера?
А как же ещё, если файл с таким именем уже существует? В этом-то и весь смысл.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
berya
Сообщения: 46
Зарегистрирован: Вт ноя 15, 2011 22:20
Откуда: kiev

Сообщение berya »

нуль я убрал потому, что идет нумерация 01 ... 09 010, 011 ... вместо 01 ... 10, 11.
Под началом нумерации я имеел ввиду, что было abc_1 ... abc_10 - добавляю несколько файлов, запускаю скрипт и получаю abc_10 аbc_11 ... т.е. начало нумерации с номера последнего файла по счету который был до добвления новых фалов. Повторный запуск скрипта ставит нумерацию с 1
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

berya писал(а):нуль я убрал потому, что идет нумерация 01 ... 09 010, 011 ... вместо 01 ... 10, 11.
Условие наличия не менее двух знаков было выполнено, а так не будет.
berya писал(а): т.е. начало нумерации с номера последнего файла по счету который был до добвления новых фалов
Именно так и запрашивал Yurbanizator.
berya писал(а):Повторный запуск скрипта ставит нумерацию с 1
Тут ряд условий надо выполнить. В общем, меняем 9-20 строки исходника на эти:

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

Items.Filter 64, "*.jpg" : PFix = Fd.Self.Name & "_"
With CreateObject("Scripting.FileSystemObject")
  If Items.Count > 0 Then
    For Each F In .GetFolder(Dir).Files
      Ext = LCase(.GetExtensionName(F)) : BN = .GetBaseName(F) : UL = InStrRev(BN, "_") : Test = 0
      If UL Then : If PFix = Left(BN, UL) Then Test = IsNumeric(Mid(BN, UL + 1)) : End If
      If (Ext = "jpg" Or Ext = "jpeg") And Not Test Then
        i = i + 1 : If i < 10 Then i = "0" & i
        Do While .FileExists(PFix & i & ".jpg") Or .FileExists(PFix & i & ".jpeg")
          i = i + 1 : If i < 10 Then i = "0" & i
        Loop : .GetFile(F).Name = PFix & i & "." & Ext
        Size = CStr(Fd.GetDetailsOf(Fd.ParseName(F.Name), 31))
        x = InStr(Size, "x") : H = Left(Size, x - 2)
        .OpenTextFile(PFix & i & ".html", 2, True, -1).Write _
        "<h1> " & PFix & i & "." & Ext & " </h1>" & vbNewLine & "height = <b> " & H &_
Последний раз редактировалось Flasher Вс дек 16, 2012 18:12, всего редактировалось 4 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
berya
Сообщения: 46
Зарегистрирован: Вт ноя 15, 2011 22:20
Откуда: kiev

Сообщение berya »

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

Сообщение Flasher »

Неправда. Не трогает только те, у которых есть число после знака подчёркивания, что для описанной задачи вполне логично.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
berya
Сообщения: 46
Зарегистрирован: Вт ноя 15, 2011 22:20
Откуда: kiev

Сообщение berya »

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

Сообщение Flasher »

Увы, ничем не могу помочь. Мои результаты положительные, как при добавлении, так и при переименовании jpg-файлов.

Добавлено спустя 13 минут:

Сделал ещё поточней проверку имён со знаком подчёркивания.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
berya
Сообщения: 46
Зарегистрирован: Вт ноя 15, 2011 22:20
Откуда: kiev

Сообщение berya »

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

Сообщение Flasher »

Надо ждать пока скрипт полностью отработает, а после уже повторно жать, иначе будет хаос.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить