<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; CMD/BAT: обработка (фильтрация) текста]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=876</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=876&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: обработка (фильтрация) текста».]]></description>
		<lastBuildDate>Fri, 23 Nov 2007 07:37:20 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[CMD/BAT: обработка (фильтрация) текста]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=6321#p6321</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (The gray Cardinal)]]></author>
			<pubDate>Fri, 23 Nov 2007 07:37:20 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=6321#p6321</guid>
		</item>
	</channel>
</rss>
