Страница 2 из 5

Добавлено: Ср дек 12, 2012 00:51
Flasher
Под списком и понимались jpg. И тут речь идёт о записи размеров в теги html. И пока я так и не увидел ответ на исходный вопрос.
В любом случае реализацию на завтра уже переносим.

Добавлено: Ср дек 12, 2012 00:55
berya
имена меняем и для HTML и в HTML
Спасибо и спокойной ночи

Добавлено: Ср дек 12, 2012 12:48
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 &_

Добавлено: Сб дек 15, 2012 18:11
Yurbanizator
Если добавляю в папку еще файлы и вызываю скрип, вылетает ошибка http://joxi.ru/EQ84Mf8

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

Алгоритм работы скрипта:
Изображение

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

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

2) Приведите код ошибки, скопированный из вылетевшего окошка по Ctrl+C. Желательно оставить только необходимое (текст сообщения и строку ошибки).
Алгоритмы можно оставить для институтской профессуры :wink: , а тут и так понятно, о чём речь. Исходник дополнен.

Добавлено: Сб дек 15, 2012 22:32
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 номера?

Добавлено: Сб дек 15, 2012 23:25
Flasher
berya писал(а):Правильно ли будет писать так:
Нуля не хватает после знака подчёркивания.
berya писал(а):Почему при добавлении новых файлов счет начинается не с 1 номера?
А как же ещё, если файл с таким именем уже существует? В этом-то и весь смысл.

Добавлено: Сб дек 15, 2012 23:34
berya
нуль я убрал потому, что идет нумерация 01 ... 09 010, 011 ... вместо 01 ... 10, 11.
Под началом нумерации я имеел ввиду, что было abc_1 ... abc_10 - добавляю несколько файлов, запускаю скрипт и получаю abc_10 аbc_11 ... т.е. начало нумерации с номера последнего файла по счету который был до добвления новых фалов. Повторный запуск скрипта ставит нумерацию с 1

Добавлено: Вс дек 16, 2012 00:37
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 &_

Добавлено: Вс дек 16, 2012 00:45
berya
не переименновывает добавленные файлы

Добавлено: Вс дек 16, 2012 00:47
Flasher
Неправда. Не трогает только те, у которых есть число после знака подчёркивания, что для описанной задачи вполне логично.

Добавлено: Вс дек 16, 2012 00:51
berya
к сожалению, правда. специально переименовал фалы только с буквенными именами - никакой реакции

Добавлено: Вс дек 16, 2012 01:05
Flasher
Увы, ничем не могу помочь. Мои результаты положительные, как при добавлении, так и при переименовании jpg-файлов.

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

Сделал ещё поточней проверку имён со знаком подчёркивания.

Добавлено: Вс дек 16, 2012 01:22
berya
Переименовывать стал, но результаты непредсказуемые - каждое нажатие новый набор нумерации, без какай - либо системы

Добавлено: Вс дек 16, 2012 01:24
Flasher
Надо ждать пока скрипт полностью отработает, а после уже повторно жать, иначе будет хаос.