<?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=9370&amp;type=atom" />
	<updated>2016-09-28T06:54:02Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=9370</id>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Удаление лидирующих и завершающих пробелов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=108063#p108063" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>В пакетных файлах. Как избавиться от удвоения символа Cr при разборе по «for /f» без промежуточных файлов:<br /></p><div class="codebox"><pre><code>for /f &quot;usebackq tokens=2 delims==&quot; %i in (`wmic.exe UserAccount where &quot;LocalAccount=&#039;True&#039; AND Disabled=&#039;False&#039;&quot; get Name /value`) do @echo [%i]</code></pre></div><p>Оказалось банально, двойным разбором:<br /></p><div class="codebox"><pre><code>for /f &quot;usebackq tokens=2 delims==&quot; %i in (`wmic.exe UserAccount where &quot;LocalAccount=&#039;True&#039; AND Disabled=&#039;False&#039;&quot; get Name /value`) do @for /f %j in (&quot;%i&quot;) do @echo [%j]</code></pre></div></div></div></blockquote></div><p>Можно передать вывод на <strong>MORE </strong>или <strong>SORT</strong><br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>for /f &quot;usebackq tokens=2 delims==&quot; %i in (`wmic.exe UserAccount where &quot;LocalAccount=&#039;True&#039; AND Disabled=&#039;False&#039;&quot; get Name /value`) do @echo [%i]|more
for /f &quot;usebackq tokens=2 delims==&quot; %i in (`wmic.exe UserAccount where &quot;LocalAccount=&#039;True&#039; AND Disabled=&#039;False&#039;&quot; get Name /value`) do @echo [%i]|sort</code></pre></div></div></div>]]></content>
			<author>
				<name><![CDATA[msdcorp]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=34225</uri>
			</author>
			<updated>2016-09-28T06:54:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=108063#p108063</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Удаление лидирующих и завершающих пробелов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=101024#p101024" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>Ладно, с начальными пробелами разобрались (на мой взгляд, по итогам разбора должны быть сделаны какие-то примечания в теме «<a href="http://forum.script-coding.com/viewtopic.php?id=2945">CMD/BAT: вывод текста без переноса на новую строку</a>»)…</p></blockquote></div><div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>Коль первым об этой особенности упомянул <strong>Yury</strong>, то это мог бы сделать он…</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2016-02-11T17:41:27Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=101024#p101024</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Удаление лидирующих и завершающих пробелов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=81118#p81118" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Так что смело добавляйте отдельным постом.</p></blockquote></div><p>Так как сам я описанное поведение воочию пока не наблюдал, то смело не могу.<br />Лучше пусть кто-нибудь их тех, кто наблюдал.<br />Коль первым об этой особенности упомянул <strong>Yury</strong>, то это мог бы сделать он, если присудить ему степень разработчика в связи с деятельной помощью другим участникам и искушённостью в командных файлах.</p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2014-03-22T19:43:26Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=81118#p81118</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Удаление лидирующих и завершающих пробелов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=80992#p80992" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>Ну, материала на самодостаточное сообщение маловато, я предпологал добавление небольшого постскриптума к уже имеющемуся его автором smile.</p></blockquote></div><p>Там в постах и так избыток материала. Так что смело добавляйте отдельным постом.</p><div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>В каком окружении (WSH, CMD…); вывод перенаправленный в файл, в конвейер, перехватываемый с помощью FOR/F?</p></blockquote></div><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>В пакетных файлах. Как избавиться от удвоения символа Cr при разборе по «for /f» без промежуточных файлов:<br /></p><div class="codebox"><pre><code>for /f &quot;usebackq tokens=2 delims==&quot; %i in (`wmic.exe UserAccount where &quot;LocalAccount=&#039;True&#039; AND Disabled=&#039;False&#039;&quot; get Name /value`) do @echo [%i]</code></pre></div><p>Оказалось банально, двойным разбором:<br /></p><div class="codebox"><pre><code>for /f &quot;usebackq tokens=2 delims==&quot; %i in (`wmic.exe UserAccount where &quot;LocalAccount=&#039;True&#039; AND Disabled=&#039;False&#039;&quot; get Name /value`) do @for /f %j in (&quot;%i&quot;) do @echo [%j]</code></pre></div></div></div>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2014-03-19T15:01:54Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=80992#p80992</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Удаление лидирующих и завершающих пробелов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=80986#p80986" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Yury пишет:</cite><blockquote><p>не иметь проблем с восклицательным знаком</p></blockquote></div><p>Вроде бы, так их нет:<br /></p><div class="codebox"><pre><code>@echo off
setlocal disabledelayedexpansion
set inputFile=1.txt
set outputFile=2.txt
(for /f &quot;usebackq tokens=*&quot; %%i in (&quot;%inputFile%&quot;) do (
   set &quot;str=%%i&quot;
   call :#
))&gt;&quot;%outputFile%&quot;
endlocal
exit /b

:#
setlocal enabledelayedexpansion
set i=0
:#1
  set /a i-=1
  if &quot;!str:~%i%,1!&quot;==&quot; &quot; goto #1
set /a i+=1
if %i% equ 0 (echo:!str!) else echo:!str:~0^,%i%!
endlocal
exit /b
</code></pre></div><p>— кажется, выполняется чуть быстрее и не спотыкается на строке<br />«I said &quot;Hi &amp; bye&quot;».</p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2014-03-19T11:19:37Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=80986#p80986</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Удаление лидирующих и завершающих пробелов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=80980#p80980" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>wisgest, добавляйте.</p></blockquote></div><p>Ну, материала на самодостаточное сообщение маловато, я предпологал добавление небольшого постскриптума к уже имеющемуся его автором <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />.<br /></p><div class="quotebox"><cite>Yury пишет:</cite><blockquote><p><span style="color: grey">Кстати, догадайтесь, что я использую для замены конструкции &quot;<strong>if exist</strong>&quot;.</span></p></blockquote></div><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>REM set file_exists=
for %%F in (&quot;имя файла&quot;) do (
  echo Искомый файл расположен в каталоге &quot;%%~dpF&quot;
  REM set file_exists=1
)
REM if not defined file_exists (echo Файл не найден)
</code></pre></div></div></div><div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Я тут насилу научился-таки корректно разбирать юникодный вывод «wmic.exe»</p></blockquote></div><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>В каком окружении (WSH, CMD…); вывод перенаправленный в файл, в конвейер, перехватываемый с помощью FOR/F?</p></div></div>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2014-03-19T06:35:23Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=80980#p80980</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Удаление лидирующих и завершающих пробелов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=80977#p80977" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>на мой взгляд, по итогам разбора должны быть сделаны какие-то примечания в теме «CMD/BAT: вывод текста без переноса на новую строку»</p></blockquote></div><p><strong>wisgest</strong>, добавляйте.</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>Я тут насилу научился-таки корректно разбирать юникодный вывод «wmic.exe» <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" />.</p></div></div>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2014-03-18T21:11:09Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=80977#p80977</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Удаление лидирующих и завершающих пробелов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=80969#p80969" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Yury пишет:</cite><blockquote><p>не иметь проблем с восклицательным знаком</p></blockquote></div><p>При отключенном отложенном расширении переменных среды и, соответственно, при двойном раскрытии переменных конструкции с оператором условного выполнения команд невозможны. Поэтому команда &quot;<strong>findstr</strong>&quot; здесь является своеобразной заменой оператору &quot;<strong>if</strong>&quot;.</p><p><span style="color: grey">Кстати, догадайтесь, что я использую для замены конструкции &quot;<strong>if exist</strong>&quot;.</span></p>]]></content>
			<author>
				<name><![CDATA[Yury]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=30230</uri>
			</author>
			<updated>2014-03-18T16:49:38Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=80969#p80969</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Удаление лидирующих и завершающих пробелов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=80967#p80967" />
			<content type="html"><![CDATA[<p>Ладно, с начальными пробелами разобрались (<span style="color: red">на мой взгляд, по итогам разбора должны быть сделаны какие-то примечания в теме «<a href="http://forum.script-coding.com/viewtopic.php?id=2945">CMD/BAT: вывод текста без переноса на новую строку</a>»</span>), примемся за конечные.</p><p><strong>Yury</strong>, почему так сложно? Коль в коде присутствует преобразование переменной цикла <em>%%i</em> в переменную среды <em>%str%</em>, то почему просто последовательно не проверять её последний знак <em>%str:~-1%</em>? Что даёт использование FINDSTR?</p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2014-03-18T15:05:25Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=80967#p80967</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Удаление лидирующих и завершающих пробелов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=80950#p80950" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Yury пишет:</cite><blockquote><p>6.1.7601.17514</p></blockquote></div><p>Налицо ухудшение, что в очередной раз подтверждает, что новое — не значит лучшее&nbsp; (по крайней мере, во всех отношениях).</p><br /><p>___<br /><em><span class="bbu">2025-12-14</span>: Похоже такое поведение имеет место, <a href="http://stackoverflow.com/questions/9864620/in-batch-how-do-i-create-spaces-at-the-beginning-of-a-input-prompt-string#answer-9865960">начиная с Vista</a>.</em></p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2014-03-18T11:52:32Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=80950#p80950</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Удаление лидирующих и завершающих пробелов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=80945#p80945" />
			<content type="html"><![CDATA[<p>6.1.7601.17514</p>]]></content>
			<author>
				<name><![CDATA[Yury]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=30230</uri>
			</author>
			<updated>2014-03-18T11:18:16Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=80945#p80945</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Удаление лидирующих и завершающих пробелов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=80944#p80944" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Yury пишет:</cite><blockquote><p><strong>wisgest</strong>, по-моему, у нас разные версии интерпретатора.</p></blockquote></div><p>5.1.2600.5512</p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2014-03-18T11:07:36Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=80944#p80944</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Удаление лидирующих и завершающих пробелов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=80937#p80937" />
			<content type="html"><![CDATA[<p><strong>wisgest</strong>, по-моему, у нас разные версии интерпретатора.</p>]]></content>
			<author>
				<name><![CDATA[Yury]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=30230</uri>
			</author>
			<updated>2014-03-18T10:15:36Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=80937#p80937</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Удаление лидирующих и завершающих пробелов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=80935#p80935" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>То, что пробелы в начале строки не убираются было проверено на опыте, т.к. допускал, что чего-то недопонял.</p></blockquote></div><p>Совершенно верно, но это справедливо для команды &quot;<strong>echo</strong>&quot;, команды &quot;<strong>set&quot;</strong> без ключа &quot;<strong>/p</strong>&quot; и т. п., но не для команды &quot;<strong>set</strong>&quot; с ключом &quot;<strong>/p</strong>&quot;.</p><br /><div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>Только во втором случае.</p></blockquote></div><p><span class="bbu">Во всех трёх случаях начальные пробелы не сохраняются. </span></p><p>Проверьте ещё так:</p><div class="codebox"><pre><code>(
&lt;nul set /p=     123 456 789     
echo.
&lt;nul set /p=&quot;     123 456 789     &quot;
echo.
&lt;nul set /p&quot;=     123 456 789     &quot;
)&gt;.txt</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Yury]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=30230</uri>
			</author>
			<updated>2014-03-18T09:41:15Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=80935#p80935</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Удаление лидирующих и завершающих пробелов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=80933#p80933" />
			<content type="html"><![CDATA[<p>То, что пробелы в начале строки не убираются было проверено на опыте, т.к. допускал, что чего-то недопонял.<br /></p><div class="quotebox"><cite>Yury пишет:</cite><blockquote><p>Команда &quot;set /p&quot;, в оличие от команды &quot;echo&quot;, всегда самостоятельно убирает все начальные пробелы.</p><p>Проверьте:</p></blockquote></div><p>Только во втором случае.</p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2014-03-18T09:16:28Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=80933#p80933</id>
		</entry>
</feed>
