Тема: VBS Копирование текста
Мужики.
Проблема (собственно и задача).
Нужно Проверять дату следующего обновления списка отзыва сертификатов. (таких сертификатов 6 штук)
Если же все нормально, то отсылать на почту сведение о том, что список обновлен и все тип топ.
Если же нет, то отсылать имя списка отзыва.
Сейчас планировал:
1 - Скопировать *.crl на компьютер.
2 - С помощью команды CERTUTIL прочитать сертификат.
3 - Перенести данные в текстовый формат *.txt
4 - Специальными командами (пока не знаю какими в VBS) найти это место в текстовом файле.
5 - Сравнить с нынешней датой.
6 - Осуществить отправление сообщения на почту.
N.B. Но рассматриваю такой вариант, что с помощью специализированных операций под действием команды CERTUTIL можно вытянуть дату (Для того чтобы не использовать пункты 3 и 4).
Сохраняю на компьютере *.crl - список отзыва.
Вот таким кодом вытягиваю файл из интеренета:
'wget functionality in vbscript
strFileURL = "http://**************/garant.crl"
URL = Split(StrReverse(strFileURL), "/")
basename = StrReverse(URL(0))
wscript.echo "Downloadin1g " & basename
strHDLocation = "C:\" & basename
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.open "GET", strFileURL, false
objXMLHTTP.send()
If objXMLHTTP.Status = 200 Then
Set objADOStream = CreateObject("ADODB.Stream")
objADOStream.Open
objADOStream.Type = 1 'adTypeBinary
objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0 'Set the stream position to the start
Set objFSO = Createobject("Scripting.FileSystemObject")
If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation
Set objFSO = Nothing
objADOStream.SaveToFile strHDLocation
objADOStream.Close
Set objADOStream = Nothing
End if
Set objXMLHTTP = Nothing
'The following code executes the downloaded file from a command shell '(cmd.exe)
'Set objShell = CreateObject("WScript.Shell")
'Set objScriptExec = objShell.Exec("%comspec% /" & "c:\crl1.vbs ")
'cmdOutput = objScriptExec.StdOut.ReadAll
'cmdErrOutput = objScriptExec.StdErr.ReadAll
Далее открываю его:
Set objShell = CreateObject("WScript.Shell")
strCommand1 = "certutil -split c:\garant.crl "
Set objExec = objShell.Exec(strCommand1)
While objExec.Status = 0
WScript.Sleep 600
Wend
strOutput = Replace(objExec.StdOut.ReadAll, VbCrLf & "CertUtil: -split command completed successfully.", "")
MsgBox strOutput
Осталась проблема:
Хочу вытянуть весь текст из strOutput и положить его в файл garant.txt. Грубо говоря - копирование.
Какой командой лучше воспользоваться и как вытянуть текст из strOutput?