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

Добавлено: Ср ноя 14, 2012 22:26
shveicar
пробую: не нравиться скрипту- строка 16 символ61. Если конечно все правильно сделано.

Добавлено: Чт ноя 15, 2012 02:22
Flasher
shveicar
Под "перед" имелось в виду "над".

Добавлено: Чт ноя 15, 2012 14:59
shveicar
Под "перед" имелось в виду "над".
Конечно проверял и так - ошибка стока 18 символ 7
Файл не найден.

Добавлено: Чт ноя 15, 2012 16:48
Flasher
shveicar
Не ту строку написал, исправил.

Добавлено: Чт ноя 15, 2012 16:56
shveicar
Спасибо, - теперь порядок.

Добавлено: Вс янв 25, 2015 14:51
slawok25
Может что то банальное спрошу,но
если HTml файл такого вида
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "....://....../TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="....3.org/1999/xhtml" lang="ru-RU">
<head profile="....org/xfn/11">
<title>курсы по фотографии | Пиктурист</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="description" content="Лучший сборник самых интересных фото" />
<meta name="generator" content="....." /><!-- Please leave for stats -->
и т.д....
</body>
</html>
И нужно задать имя файла в зависимости от <title>. Что нужно изменить в скрипте из данной темы??? Заранее спасибо.

Добавлено: Вс янв 25, 2015 17:00
Tol!k

Добавлено: Вс янв 25, 2015 18:17
Flasher
slawok25, сразу пишу - кодировки не отлаживал:

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

'============================================================
' Заменить базовые имена выбранных htm(l)-файлов на заголовки
' Параметр: %WL
'============================================================
If WScript.Arguments.Count = 0 Then WScript.Quit
Set HTML = CreateObject("htmlfile")
S = Split(""" | : ; \ / < > ?") : R = Split("''|-|,| -|_|_|-|-| ","|")
With CreateObject("Scripting.FileSystemObject")
  Set List = .OpenTextFile(WScript.Arguments(0),,,-1)
  Do : F = List.ReadLine
    If .FileExists(F) Then
      Ext = .GetExtensionName(F)
      If InStr("html|hta", Ext) Then
        HTML.Open : HTML.Write .OpenTextFile(F,,,-2).ReadAll
        Title = "" : Title = Trim(HTML.Title)
        If Title <> "" Then
          For i = 0 To 8 : Title = Replace(Title, S(i), R(i)) : Next
          Name = Title & "." & Ext : Path = .GetParentFolderName(F) & "\"
          If Len(Path & Name) > 259 Then Name = Left(Title, 258 - Len(Path) - Len(Ext)) & "." & Ext
          If Not .FileExists(Path & Name) Then .GetFile(F).Name = Name
          HTML.Clear : HTML.Close
        End If
      End If
    End If
  Loop Until List.AtEndOfStream
End With : CreateObject("WScript.Shell").SendKeys "^R"

Добавлено: Вс янв 25, 2015 19:40
slawok25
Tol!k, Flasher спасибо, буду пробовать...

ПС:Flasher Всё работает спасибо. Правда, видимо при превышении определенного количества знаков в заголовке не переименовывает, но это единичный случай.

Добавлено: Вс янв 25, 2015 20:37
Flasher
slawok25
Сделал обрезку невлезаемой части имени в заданных API рамках.