Инструменты пользователя

Инструменты сайта


doc:scripts
Если у вас есть интересные и полезные скрипты на perl, bash, php, python, etc … Присылайте их на почту alex.hha[dog]gmail.com с соответствующими комментариями и я их размещу в этом разделе с указанием авторства.

Данный скрипт был написан мной после того, как на одной из подработок пришлось сохранять большое количество doc файлов в html, для дальнейшего использования в программе. А так как народ мы ленивый и открывать 200 документов и в каждом выбирать «сохранить как» заняло б много времени, то и появилась задача написать соответствующий скрипт.

Конвертация doc файлов в html

' Конвертация doc файлов в html
' Входные данные должны находиться в папке со скриптом в подпапке DOC
' Например: если скрипт находится в C:\VBS\doc2html.vbs, то все doc файлы 
' должны лежать в C:\VBS\DOC, в результате конверта все сохраненные файлы
' будут помещены в подпапку HTML, C:\VBS\HTML
'
' Примечание: 
' Для работы скрипта в системе должен быть установлен MS Word.
' Если во время запуска скрипта вы будете получать следующее сообщение - "Word cannot start the converter mswrd632"
' установите следующее обновление http://support.microsoft.com/kb/973904

Dim oWordApp, oWordDocs, outputDir, inputDir, outputFileName, convertedFiles

Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")

oShell.CurrentDirectory = oFSO.GetParentFolderName(Wscript.ScriptFullName)

inputDir = oShell.CurrentDirectory & "\DOC\"
outputDir = oShell.CurrentDirectory & "\HTML\"

if not oFSO.FolderExists (outputDir) then oFSO.CreateFolder(outputDir)
if not oFSO.FolderExists (inputDir) then 
	MsgBox "Входная папка DOC не существует. Скопируйте *.doc файлы в папку DOC и запустите скрипт снова.", vbCritical, "doc2html converter"
	oFSO.CreateFolder(inputDir)
	WScript.Quit
end if

If oFSO.GetFolder(inputDir).Files.Count = 0 Then 
	MsgBox "Не найдено файлов для конвертации!", vbExclamation, "doc2html converter"
	WScript.Quit
End If 

convertedFiles = 0
Set oWordApp = CreateObject("Word.Application")

for each currFile in oFSO.GetFolder(inputDir).Files
	Set oWordDocs = oWordApp.Documents.Open(currFile.Path)
	outputFileName = outputDir & oFSO.GetBaseName(oWordApp.ActiveDocument.Name) & ".html"
	oWordDocs.SaveAs outputFileName, 10
	oWordDocs.Close
	Set oWordDocs = Nothing
	convertedFiles = convertedFiles + 1
Next

MsgBox "Конвертация успешна завершена. Сохранено " & convertedFiles & " файлов", vbInformation, "doc2html converter"

oWordApp.Quit
Set oWordApp = Nothing

Отправка почты средствами php (pear-Mail) используя smarthost (smtp.gmail.com)

<?php
    include('Mail.php');

    $from_name = "alex.hha@gmail.com";
    $to_name = "alex_hha@mail.ru";
    $subject = "Привет всем";
    $mailmsg = '<html><h1>Hello world<h1><p><a title="Test" href="http://wiki.sys-adm.org.ua/doc/scripts">Test</a></p></html>';

    $From = $from_name;
    $To = $to_name;

    $recipients = "alex_hha@mail.ru";
    $headers["From"] = $From;
    $headers["To"] = $To;
    $headers["Precedence"] = "bulk";
    $headers["Subject"] = $subject;
    $headers["Reply-To"] = "alex.hha@gmail.com";
    $headers["Content-Type"] = 'text/html; charset="utf-8"';
    $headers["Return-path"] = "alex.hha@gmail.com";

    $smtpinfo["host"] = "smtp.gmail.com";
    $smtpinfo["port"] = "25";
    $smtpinfo["auth"] = true;
    $smtpinfo["username"] = "alex.hha@gmail.com";
    $smtpinfo["password"] = "1234567";

    $mail_object =& Mail::factory("smtp", $smtpinfo);

    $send = $mail_object -> send($recipients, $headers, $mailmsg);
    if (PEAR::isError( $send ))
    {
        print($send -> getMessage());
    }
?>

doc/scripts.txt · Последние изменения: 2016/05/26 10:55 — root