<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; CMD: Запись диапазона строк в файл через Pipe]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11654&amp;type=atom" />
	<updated>2016-05-31T22:43:35Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=11654</id>
		<entry>
			<title type="html"><![CDATA[Re: CMD: Запись диапазона строк в файл через Pipe]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=104516#p104516" />
			<content type="html"><![CDATA[<p><strong>Rumata</strong>, префикс CMD (без BAT) и &quot;Нужно одной командой&quot; (строкой). UP.<br />Это необходимо не для частного случая. PowerShell не годится.</p>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2016-05-31T22:43:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=104516#p104516</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD: Запись диапазона строк в файл через Pipe]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=104515#p104515" />
			<content type="html"><![CDATA[<p>Не буду утверждать, что это решение отличается от ранее предложенных, потому что в однострочники трудно вчитываться и стараться понять их логику. </p><div class="codebox"><pre><code>

set &quot;m_filename=%windir%\System32\drivers\etc\hosts&quot;

set /a &quot;m_begin=1&quot;
set /a &quot;m_end=10&quot;

set /a &quot;m_skip=m_begin-1&quot;
set /a &quot;m_length=m_end-m_begin+1&quot;

for /f &quot;tokens=1,* delims=[]&quot; %%f in ( &#039;
	more +%m_skip% &quot;%m_filename%&quot; ^| find /n /v &quot;&quot;
&#039; ) do (
	if %%f gtr %m_length% goto :done
	echo:%%g
)
:done
</code></pre></div><p>PowerShell в круг доступных средств не входит? На нем можн обыло бы сделать нечто подобное head/tail/sed именно под эту задачу.</p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2016-05-31T22:27:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=104515#p104515</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD: Запись диапазона строк в файл через Pipe]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=104510#p104510" />
			<content type="html"><![CDATA[<p>ОК. Годится. Медленно, правда (поэтому и хотел через more /E). Добавил ещё туда <strong>chcp 1251^&amp;</strong>, чтобы из юникодного файла кириллица нормально встала.</p>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2016-05-31T20:01:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=104510#p104510</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD: Запись диапазона строк в файл через Pipe]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=104509#p104509" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>cmd /v/c set y=&quot;C:\Program Files\7-Zip\7z.exe&quot;^&amp; !y! x &quot;A r c h i v e.7z&quot; -so^| ^&gt;&quot;File.txt&quot; cmd /v/c &quot;for /f &quot;delims=&quot; %i in (&#039;find/n /v &quot;&quot;&#039;) do @set x=%i&amp; &gt;nul set/a i+=1&amp; if !i! leq 3 (echo(!x:*]=!) else exit/b&quot;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Yury]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30230</uri>
			</author>
			<updated>2016-05-31T19:46:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=104509#p104509</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD: Запись диапазона строк в файл через Pipe]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=104508#p104508" />
			<content type="html"><![CDATA[<p>ОК. Хорошо. В исходном виде работает. Остановимся тогда на варианте покороче. Но если указать полные пути в кавычках к утилите и архиву с пробелами, то видим ругань на обрубок.</p>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2016-05-31T19:18:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=104508#p104508</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD: Запись диапазона строк в файл через Pipe]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=104506#p104506" />
			<content type="html"><![CDATA[<p>Вариант 1: </p><div class="codebox"><pre><code>cmd /c 7z x &quot;Archive.7z&quot; -so^| ^&gt;&quot;File.txt&quot; cmd /v/c &quot;for /f &quot;delims=&quot; %i in (&#039;find/n /v &quot;&quot;&#039;) do @set x=%i&amp; &gt;nul set/a i+=1&amp; if !i! leq 3 (echo(!x:*]=!) else exit/b&quot;</code></pre></div><p>.</p><p>Вариант 2: </p><div class="codebox"><pre><code>cmd /c 7z x &quot;Archive.7z&quot; -so^| ^&gt;&quot;File.txt&quot; cmd /v/c &quot;for /f &quot;delims=&quot; %i in (&#039;find/n /v &quot;&quot;&#039;) do @set x=%i&amp; for /f &quot;delims=[]&quot; %j in (&quot;%i&quot;) do @if %j leq 3 (echo(!x:*]=!) else exit/b&quot;</code></pre></div><p>.</p>]]></content>
			<author>
				<name><![CDATA[Yury]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30230</uri>
			</author>
			<updated>2016-05-31T19:02:08Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=104506#p104506</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD: Запись диапазона строк в файл через Pipe]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=104504#p104504" />
			<content type="html"><![CDATA[<p><strong>Yury</strong><br />Ясно. Спасибо за труды!<br />Проценты пришлось менять на одинарные, см. префикс.<br />Это ладно. В результате имеем только первые слова до пробела.</p>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2016-05-31T18:33:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=104504#p104504</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD: Запись диапазона строк в файл через Pipe]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=104499#p104499" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Реально с more осуществить?</p></blockquote></div><p>Нереально.</p><p>Но решение существует.</p><p><strong>Вариант 1</strong>: </p><div class="codebox"><pre><code>cmd /c 7z x &quot;Archive.7z&quot; -so^| ^&gt;&quot;File.txt&quot; cmd /v/c &quot;for /f %%i in (&#039;find/n /v &quot;&quot;&#039;) do @set x=%%i&amp; &gt;nul set/a i+=1&amp; if !i! leq 3 (echo(!x:*]=!) else exit/b&quot;</code></pre></div><p>.</p><p><strong>Вариант 2</strong>: </p><div class="codebox"><pre><code>cmd /c 7z x &quot;Archive.7z&quot; -so^| ^&gt;&quot;File.txt&quot; cmd /v/c &quot;for /f %%i in (&#039;find/n /v &quot;&quot;&#039;) do @set x=%%i&amp; for /f &quot;delims=[]&quot; %%j in (&quot;%%i&quot;) do @if %%j leq 3 (echo(!x:*]=!) else exit/b&quot;do @if %%j leq 3 (echo[!x:*]^^=!) else exit/b&quot;</code></pre></div><p>.</p>]]></content>
			<author>
				<name><![CDATA[Yury]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30230</uri>
			</author>
			<updated>2016-05-31T17:33:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=104499#p104499</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[CMD: Запись диапазона строк в файл через Pipe]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=104485#p104485" />
			<content type="html"><![CDATA[<p>Есть 7z.exe, архив c текстом. Нужно одной командой вытащить из него первые N строк.<br />Нерабочая заготовка:</p><div class="codebox"><pre><code>cmd /c chcp 1251&amp;7z x Archive.7z -so|echo P 3|more /c /E&gt;File.txt</code></pre></div><p>Реально с more осуществить?</p>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2016-05-31T12:00:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=104485#p104485</id>
		</entry>
</feed>
