<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; CMD/BAT: обработка (фильтрация) текста]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=876&amp;type=atom" />
	<updated>2007-11-23T07:37:20Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=876</id>
		<entry>
			<title type="html"><![CDATA[CMD/BAT: обработка (фильтрация) текста]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=6321#p6321" />
			<content type="html"><![CDATA[<p>Есть текстовый файл следующего вида:<br /></p><div class="quotebox"><blockquote><p>2608,System,MRxSmb,ERROR,L,21.11.2007 11:24:17,3019,None,Перенаправитель не смог определить тип подключения.&nbsp; <br />2607,System,MRxSmb,ERROR,L,21.11.2007 11:24:16,555,None,Ошибка 555.&nbsp; <br />2606,System,MRxSmb,WARNING,L,21.11.2007 11:24:14,3019,None,Перенаправитель не смог определить тип подключения.&nbsp; <br />2605,System,MRxSmb,WARNING,L,21.11.2007 11:24:13,3019,None,Перенаправитель не смог определить тип подключения.&nbsp; <br />2604,System,MRxSmb,WARNING,L,21.11.2007 11:24:05,3019,None,Перенаправитель не смог определить тип подключения.&nbsp; <br />2603,System,MRxSmb,WARNING,L,21.11.2007 10:32:31,3019,None,Перенаправитель не смог определить тип подключения.&nbsp; <br />2602,System,MRxSmb,WARNING,L,21.11.2007 10:32:20,3019,None,Перенаправитель не смог определить тип подключения.</p></blockquote></div><p>Задача: на основе этих данных формировать &quot;отчёт&quot; следующего вида:<br /></p><div class="quotebox"><blockquote><p>ERROR,3019,Перенаправитель не смог определить тип подключения<br />ERROR,555,Ошибка 555</p></blockquote></div><p>Решение:<br /></p><div class="codebox"><pre><code>@echo off
chcp 1251 &gt; nul
for /f &quot;tokens=4,7,9 delims=,&quot; %%i in (%1) do @echo %%i,%%j,%%k | findstr /b /l /i /c:Error</code></pre></div><p>Перенаправляйте вывод скрипта в файл - полученный файл будет в кодировке cp1251, и его можно будет просматривать Блокнотом. Если хотите запускать скрипт в консоли - в свойствах окна консоли выберите шрифт, в котором несколько кодовых страниц (в т.ч. cp1251) - Lucida Console (лучше &quot;для всех окон с этим именем&quot;).<br />На некоторых системах могут быть проблемы с <strong>findstr</strong>: при выводе на консоль вместо некоторых символов (например, &quot;П&quot;, &quot;ю&quot;, &quot;ь&quot;) печатается точка. В этом случае можно использовать такой вариант:<br /></p><div class="codebox"><pre><code>@echo off
chcp 1251 &gt; nul
for /f &quot;tokens=4,7,9 delims=,&quot; %%i in (%1) do @echo %%i,%%j,%%k | find /i &quot;Error&quot;</code></pre></div><p>Автор решений - <strong>alexii</strong>.</p>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2007-11-23T07:37:20Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=6321#p6321</id>
		</entry>
</feed>
