Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Преобразовать *.html в *.mht

Ответить
Настройки темы
CMD/BAT - [решено] Преобразовать *.html в *.mht

Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491


Конфигурация

Профиль | Отправить PM | Цитировать


Имеется файл Help.html и папка misc к нему, нужно преобразовать их в файл Help.mht. Можно ли это сделать из бат файла? Доп. утилиты допустимы.

Отправлено: 16:55, 21-11-2009

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


gora, категория «CMD/BAT», но на всякий случай осведомлюсь: нечто подобное на WSH (Серый форум / JScript: Пример сохранения web-страницы в TXT, HTML и MHT (веб-архив)) или скомпилированный AutoIt ([решено] Сохранение загруженной html-страницы) [код, в принципе, тот же, и требование на наличие установленного CDO, либо из комплекта MS Office, либо отдельным компонентом, тоже остаётся] не подойдёт в Вашем случае?

Последний раз редактировалось Iska, 03-04-2013 в 15:59. Причина: Поправил ссылку, дабы указывала на новый домен

Это сообщение посчитали полезным следующие участники:

Отправлено: 04:19, 22-11-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


есть вариант на AutoIT c использованием ADO, если перевести на VBS:
Код: Выделить весь код
FileIn  = Wscript.arguments.Item(0)
FileOut = Wscript.arguments.Item(1)

INetGetMHT FileIn, FileOut

Sub INetGetMHT (strURL, strFile)
   Dim objMsg, objAdo

   Set objMsg = CreateObject("CDO.Message")
   Set objAdo = CreateObject("ADODB.Stream")

   objAdo.Type = 2
   objAdo.CharSet = "US-ASCII"
   objAdo.Open

   objMsg.CreateMHTMLBody strURL, 0 
   objMsg.DataSource.SaveToObject objAdo, "_Stream"

   objAdo.SaveToFile strFile, 1
End Sub
Код: Выделить весь код
CScript //NoLogo HTM2MHT.VBS C:\TEST\Test.htm C:\TEST\Test.mht
З.Ы. на sourceforge есть отличная утилита HTML to MHT converter, но к сожалению, она не поддерживает командную строку... в принципе, несложно переделать исходник - достаточно переписать MAIN(), но увы - возможностей VC Express Edition для этого не хватает - требуется поддержка ATL, которая доступна только в Standard Edition...
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:07, 22-11-2009 | #3


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Цитата amel27:
есть отличная утилита HTML to MHT converter, »
Кстати в коде есть ошибка
Код: Выделить весь код
string locationFromPath(const char *file)
{
    char *f=strdup(file);
    char *p=f;
    for(char *p=f; p<strlen(f)+f; p++)
    for(p=f; p<strlen(f)+f; p++)
//...
}
Цитата amel27:
возможностей VC Express Edition для этого не хватает »
А так запускается и в VC9EE.
P.S.
Если чего-то при переделки не будет хватать, можно ведь воспользоваться второй бетой профессиональной редакции VC2010.

Последний раз редактировалось Admiral, 23-11-2009 в 23:19.


Отправлено: 19:18, 22-11-2009 | #4


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Admiral:
А так запускается и в VC9EE »
странно, а у меня ругается на отсутствие "<atlenc.h>" (из stdafx.h), а при удалении сыпятся ошибки...
Цитата Admiral:
можно ведь воспользоваться второй бетой профессиональной редакции VC2010. »
если только для себя, выкладывать скомпилированные EXE, наверное, уже будет нарушением

Отправлено: 09:14, 23-11-2009 | #5


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


amel27, виноват, нажал отрыть файл atlenc.h он мне открыл его из Microsoft Visual Studio 10.0\VC\atlmfc\include
Забыл что переменная include общее на компе. VC2010 Pro Beta2 наверное лучше снести, дабы не вводить людей в заблуждение.

Видимо да.
Кстати есть ATL Server Library and Tools, да вот atlenc.h там не значится, он остаётся за MS.

Отправлено: 23:16, 23-11-2009 | #6


Новый участник


Сообщения: 37
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте!
Я вот пробовал разные конвертеры из HTM в MHT, и все они не сохраняют картинки. Реально получается конвертировать только браузером Опера сохраняя файл в другом формате.
А не подскажет ли кто реально работающий конвертер, который бы при конвертации сохранял и картинки?
Спасибо.

Отправлено: 16:33, 02-04-2013 | #7


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


AlexLev, скриптами — второй и третий посты этой темы.

Отправлено: 17:26, 02-04-2013 | #8


Аватара для Solder

Старожил


Сообщения: 290
Благодарности: 37

Профиль | Отправить PM | Цитировать


AlexLev, а я вот никак не могу отучить ту же Оперу настойчиво предлагать сохранение в этот дурацкий (имхо, есс-но) формат! Ведь его размер БОЛЬШЕ суммарного размера всех сохраняемых файлов. Посему я сохраняю файл с картинками, вырубаю из HTМ ненужные счетчики, скрипты, рекламу и прочую гадость, привожу файл в читабельный вид и сохраняю (htm2chm рулит!) в компактном CHM или ITS формате. Даже .swf, если их правильно описать , htm2chm v.3.x сохраняет правильно.

Отправлено: 20:33, 02-04-2013 | #9


Новый участник


Сообщения: 37
Благодарности: 0

Профиль | Отправить PM | Цитировать


Solder, благодарю за отклик! Если Вы сможете в тексте обойтись без плохих слов, то и Ваша голова будет чище, а это положительным образом скажется на Вашем здоровье и тех, кто читает Вами написанное...
Сейчас компьютеры стали уже мощнее и размер файлов не столь принципиален, зачастую важнее сколько времени потрачено на обработку. Я всегда сохраняю в MHT, мне это удобно.
Иной раз, как мне сейчас, требуется конвертация чужих файлов. Я попробовал VBS-скрипт, но он у меня не заработал, наверно надо ставить ADO?

Отправлено: 10:09, 03-04-2013 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Преобразовать *.html в *.mht

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - [решено] Неправильное отображение значков MHT-файлов в проводнике d_u Microsoft Windows Vista 24 17-02-2014 19:10
Разное - [решено] Как преобразовать динамический диск в базовый без удаления томов. xapon Microsoft Windows 2000/XP 3 08-05-2010 12:54
[решено] php|Преобразовать секунды в дату morgan1991 Вебмастеру 11 30-12-2009 00:14
[решено] Как преобразовать текстовую формулу в числовой результат malev AutoIt 2 18-09-2009 11:09
[решено] Javascript | преобразовать 1154112977 в нормальное число hasherfrog Вебмастеру 3 29-07-2006 01:14




 
Переход