Страница 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
В памятке для кого написано?:
Код: Выделить всё
2) Приведите код ошибки, скопированный из вылетевшего окошка по Ctrl+C. Желательно оставить только необходимое (текст сообщения и строку ошибки).
Алгоритмы можно оставить для институтской профессуры

, а тут и так понятно, о чём речь. Исходник дополнен.
Добавлено: Сб дек 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
Надо ждать пока скрипт полностью отработает, а после уже повторно жать, иначе будет хаос.