<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBScript: работаем с утилитой LogParser от Microsoft]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=947&amp;type=atom" />
	<updated>2007-12-12T14:41:18Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=947</id>
		<entry>
			<title type="html"><![CDATA[VBScript: работаем с утилитой LogParser от Microsoft]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=6952#p6952" />
			<content type="html"><![CDATA[<p>Log Parser - полезная утилита командной строки от Microsoft с очень большими возможностями. Утилиту можно бесплатно скачать с сайта Microsoft: <a href="http://www.microsoft.com/technet/scriptcenter/tools/logparser/default.mspx">http://www.microsoft.com/technet/script … fault.mspx</a>. Статья о Log Parser на русском: <a href="http://itc.ua/node/21649/">Microsoft Log Parser: не журналом единым</a>.</p><p>Вот некоторые источники, с которыми может работать Log Parser: журналы IIS различных форматов, журналы событий Windows (не только локальные), файловая система, реестр, служба каталогов Active Directory, CSV, XML и другие структурированные текстовые файлы. Вывод данных возможен в графики и диаграммы распространенных типов, CSV, XML и HTML-файлы по заранее определённым шаблонам, также возможна передача данных на SQL-серверы. Помимо COM-интерфейса с развитой объектной моделью, имеется столь же мощный интерфейс командной строки. Имеется подробная документация. Далее несколько примеров на VBScript.</p><p>Поиск по маске всех dll-файлов на диске C:<br /></p><div class="codebox"><pre><code>Set oLogQuery = CreateObject(&quot;MSUtil.LogQuery&quot;)
Set oFormat = CreateObject(&quot;MSUtil.LogQuery.FileSystemInputFormat&quot;)
Set oRecordSet = oLogQuery.Execute(&quot;SELECT * FROM C:\*.dll&quot;, oFormat)
i = 0
While Not oRecordSet.atEnd
    Set oRecord = oRecordSet.getRecord()
    strValue = oRecord.getValue(&quot;Path&quot;) &#039; список поддерживаемых полей - см. справку утилиты LogParser
    WScript.Echo strValue
    i = i + 1
    oRecordSet.moveNext
Wend
oRecordSet.Close
WScript.Echo &quot;На диске &quot;&quot;C:&quot;&quot; найдено dll-файлов: &quot; &amp; i</code></pre></div><p>Поиск по маске всех exe-файлов в каталоге c:\windows, вывод отчёта в csv-файл рядом со скриптом:<br /></p><div class="codebox"><pre><code>FileName = &quot;report.csv&quot;
PathFile = &quot;c:\windows\*.exe&quot;
Set oParser = CreateObject(&quot;MSUtil.LogQuery&quot;)
Set oLogInputFmt = CreateObject(&quot;MSUtil.LogQuery.FileSystemInputFormat&quot;)
Set oLogOutputFmt = CreateObject(&quot;MSUtil.LogQuery.CSVOutputFormat&quot;)
oParser.ExecuteBatch &quot;SELECT Size,Attributes,LastWriteTime,Path INTO &quot; &amp; _
    FileName &amp; &quot; FROM &quot; &amp; PathFile &amp; &quot; ORDER BY Size &quot;, oLogInputFmt, oLogOutputFmt</code></pre></div><p>Поиск по маске всех exe-файлов в каталоге c:\windows, вывод отчёта в визуальной форме в DataGrid на специальной форме (запускать с помощью wscript.exe):<br /></p><div class="codebox"><pre><code>PathFile = &quot;c:\windows\*.exe&quot;
Set oParser = CreateObject(&quot;MSUtil.LogQuery&quot;)
Set oLogInputFmt = CreateObject(&quot;MSUtil.LogQuery.FileSystemInputFormat&quot;)
Set oLogOutputFmt = CreateObject(&quot;MSUtil.LogQuery.DataGridOutputFormat&quot;)
oParser.ExecuteBatch &quot;SELECT Size,Name,Path FROM &quot; &amp; PathFile &amp; &quot; ORDER BY Size &quot;, _
    oLogInputFmt, oLogOutputFmt</code></pre></div><p>Благодарность за идеи - <strong>wictor</strong>.</p>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2007-12-12T14:41:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=6952#p6952</id>
		</entry>
</feed>
