Создание группы HTML-файлов с именами из файла-списка

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

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

Аватара пользователя
shveicar
Сообщения: 277
Зарегистрирован: Пн апр 18, 2011 01:54
Откуда: Россия Москва

Сообщение shveicar »

Подскажите - тема создания каталогов из списка текстового файла неоднократно обсуждалась. а вот создание группы html файлов с именами из файла списка я не встречал. В принципе такое возможно?
Например существует макет html шаблона

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

<html>
<head>
<title>Untitled</title>
</head>
<body>
<center>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="640" height="480">
  <param name="movie" value="11.swf" />
  <param name="quality" value="high" />
  <param name="allowScriptAccess" value="always" />
  <param name="wmode" value="transparent">
     <embed src="11.swf"
      quality="high"
      type="application/x-shockwave-flash"
      WMODE="transparent"
      width="640"
      height="480"
      pluginspage="http://www.macromedia.com/go/getflashplayer"
      allowScriptAccess="always" />
</object></center>
</center>
</body>
</html>
-существует текстовой файл со списком имен (без расширения html) Нужно чтобы при нажатии на кнопку в текущей директории создавались html файлы с именами из списка текстового файла. И с содержимым указанным в коде. Конечно можно создать один файл, далее его размножить, затем использовать групповое переименование по списку. Но если есть возможность решить это более простым путем было бы здорово. Особенно для тех кто занимается web дизайном.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

shveicar
Вот только свалку из оффтопных хотелок тут устраивать не надо. Создаём новую тему и вперёд.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

shveicar
Соблюдаем правила! Отделено в самостоятельную тему из Редактирование файлов (вырезать, вставить, массово).
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
shveicar
Сообщения: 277
Зарегистрирован: Пн апр 18, 2011 01:54
Откуда: Россия Москва

Сообщение shveicar »

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

Сообщение Flasher »

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

' Создание html-файлов в активной панели с именами из файла-списка
'и содержимым указанного файла-шаблона
' Параметры: "<Путь к файлу списку>" "<Путь к файлу-шаблону>"
'================================================
With CreateObject("WScript.Shell")
L=.ExpandEnvironmentStrings(WScript.Arguments(0))
T=.ExpandEnvironmentStrings(WScript.Arguments(1))
D=.CurrentDirectory
End With
With CreateObject("Scripting.FileSystemObject")
List=.OpenTextFile(L, 1).ReadAll
  On Error Resume Next
  For Each F In Split(List, vbNewLine)
    If F>vbNullString Then .GetFile(T).Copy D&"\"&F&".html"
  Next
End With
Последний раз редактировалось Flasher Вс июн 26, 2011 02:27, всего редактировалось 5 раз.
Аватара пользователя
shveicar
Сообщения: 277
Зарегистрирован: Пн апр 18, 2011 01:54
Откуда: Россия Москва

Сообщение shveicar »

Спасибо, но выскакивает ошибка строка 6, символ 1 файл не найден
Оба текстовых файла лежат в одной директории со скриптом.
параметры запуска

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

"%COMMANDER_PATH%\Utils\filelist.txt"  "%COMMANDER_PATH%\Utils\shablon.txt"
в одну строчку, что может быть не так?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Дело в переменных окружения. Если параметры писать в строке "Команда", то переменные будут подменяться. В поле "Параметры" работало бы с обычными путями. Поправил для такого варианта, только надо не забывать про удвоенный знак % в этом поле. Путь запуска в кнопке должен быть очищен.
Аватара пользователя
shveicar
Сообщения: 277
Зарегистрирован: Пн апр 18, 2011 01:54
Откуда: Россия Москва

Сообщение shveicar »

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

Сообщение Flasher »

Я вроде всё пояснил. Что неясно из написанного? Можно увидеть код кнопки?
Аватара пользователя
shveicar
Сообщения: 277
Зарегистрирован: Пн апр 18, 2011 01:54
Откуда: Россия Москва

Сообщение shveicar »

может попробовать на базе такого скрипта создать нужный вариант

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

'==========================================================================
' Создание в текущей папке для всех файлов с указанным расширением
'   аналогичного файла с другим указанным расширением

' В параметрах вызова из TC должно быть прописано:
' "%P" {расширение исходных файлов} {расширение создаваемых файлов}
' Пример:
' "%P" wmv html
'==========================================================================
Dim MB
If WScript.Arguments.Count < 3 Then
  MB = MsgBox("Заданы не все параметры!", vbOKOnly + vbExclamation, "Создание новых файлов")
  WScript.Quit
End If

Dim FSO, CurrentFolder, Ext1, Ext2, oFolder, oFile, NewFilePath, oNewFile
Set FSO = CreateObject("Scripting.FileSystemObject")

CurrentFolder = WScript.Arguments(0)
Ext1          = WScript.Arguments(1)
Ext2          = WScript.Arguments(2)

If not FSO.FolderExists(CurrentFolder) Then
  MB = MsgBox("Папка " & CurrentFolder & " не существует!", vbOKOnly + vbExclamation, "Создание новых файлов")
  WScript.Quit
End If

Set oFolder = FSO.GetFolder(CurrentFolder)

For Each oFile in oFolder.Files
  If FSO.GetExtensionName(oFile.Path) = Ext1 Then
    NewFilePath = CurrentFolder & FSO.GetBaseName(oFile.Path) & "." & Ext2
    If not FSO.FileExists(NewFilePath) Then
      Set oNewFile = FSO.CreateTextFile(NewFilePath)
      oNewFile.Close
    End If
  End If
Next

Set oFolder  = Nothing
Set oFile    = Nothing
Set oNewFile = Nothing
Set FSO      = Nothing
Wscript.Quit
- Да простит меня его автор за модернизацию. Единственное в данном виде скрипт создает html файлы(с пустым содержанием) из выделенных файлов в данном случае (видео файлы с расширением wmv) Вод если загнать в него шаблон(пусть даже самый простой например

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

Dim fso, F
Set fso = CreateObject("scripting.filesystemobject")
F = WScript.Arguments(0)
Set F=fso.OpenTextFile(F, 2, True)
F.WriteLine("<html>")
F.WriteLine("<head>")
F.WriteLine("<title>Untitled</title>")
F.WriteLine("</head>")
F.WriteLine("<body>")
F.WriteLine("<center>")
F.WriteLine("<h1>страница</h1>")
F.WriteLine("<table>")
F.WriteLine("<tr>")
F.WriteLine("<td>")
F.WriteLine("<p>привет</p>")
F.WriteLine("</td>")
F.WriteLine("</tr>")
F.WriteLine("</table>")
F.WriteLine("</center>")
F.WriteLine("</body>")
F.WriteLine("</html>")
Set F=Nothing
Set fso=Nothing
WScript.Quit
- (теги впоследствии можно заменить программой например- словогрыз) и сделать создание из файла списка, то будет то что надо.

Добавлено спустя 5 минут:
Я вроде всё пояснил. Что неясно из написанного? Можно увидеть код кнопки?
Пожалуйста -

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

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\sozdanie_shablona_html.vbs
"%COMMANDER_PATH%\Utils\filelist.txt"  "%COMMANDER_PATH%\Utils\shablon.txt"
%COMMANDER_PATH%\ico\2trees_bg740.ico
sozdanie_shablona_html

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

Сообщение Flasher »

shveicar писал(а):Пожалуйста -
Видимо, неясно (хотя вроде по-русски написано).
Для первого варианта:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\sozdanie_shablona_html.vbs "%COMMANDER_PATH%\Utils\filelist.txt
" "%COMMANDER_PATH%\Utils\shablon.txt"

ico\2trees_bg740.ico
sozdanie_shablona_html
Для второго:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\sozdanie_shablona_html.vbs
"%
%COMMANDER_PATH%%\Utils\filelist.txt" "%%COMMANDER_PATH%%\Utils\shablon.txt"
ico\2trees_bg740.ico
sozdanie_shablona_html
Аватара пользователя
shveicar
Сообщения: 277
Зарегистрирован: Пн апр 18, 2011 01:54
Откуда: Россия Москва

Сообщение shveicar »

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

Сообщение Flasher »

shveicar писал(а):Извиняюсь просто такая комбинация мне раньше не попадалась
Справка писал(а):Диалоговое окно: Конфигурация – Панель инструментов
...
Параметры:
...
    • %% Вставляет одиночный знак процента.
shveicar писал(а):хотя в списке его нет
Пустую строку в списке надо убрать.
Аватара пользователя
shveicar
Сообщения: 277
Зарегистрирован: Пн апр 18, 2011 01:54
Откуда: Россия Москва

Сообщение shveicar »

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

Сообщение Flasher »

Пожалуйста. Добавил условие, чтобы пустые или пробельные строки игнорировались.
Ответить