<?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>https://forum.script-coding.com/viewtopic.php?id=12916</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=12916&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: Проблема с циклом».]]></description>
		<lastBuildDate>Wed, 16 Aug 2017 05:38:45 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BAT: Проблема с циклом]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=118346#p118346</link>
			<description><![CDATA[<p>Затруднение не с циклом, а с раскрытием переменных окружения в условии команды IF.<br />Получается синтаксически недопустимая команда:<br /></p><div class="codebox"><pre><code>IF &quot;echo &quot;hello world&quot;&quot; neq &quot;&quot; (</code></pre></div><p>Возможные решения:<br />1) отложенное раскрытие переменных;<br />2) </p><div class="codebox"><pre><code>IF defined a (</code></pre></div><p>3) если на выходе КОМАНДА лишь одна строка можно обойтись без лишних переменных<br /></p><div class="codebox"><pre><code>FOR /F &quot;delims=&quot; %%i IN (&#039;КОМАНДА&#039;) DO (
	IF &quot;%%i&quot; neq &quot;&quot; %%i (
		%%i
	)
)
</code></pre></div><p>4) на самом деле проверка на непустую строку вообще не нужна - ну будет попытка выполнить пустую строку как код и ничего не произойдёт.</p>]]></description>
			<author><![CDATA[null@example.com (Мальчик-гей)]]></author>
			<pubDate>Wed, 16 Aug 2017 05:38:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=118346#p118346</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BAT: Проблема с циклом]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=118325#p118325</link>
			<description><![CDATA[<p>Я использую вот такую ерундень:</p><div class="codebox"><pre><code>
	FOR /F &quot;delims=&quot; %%i IN (&#039;КОМАНДА&#039;) DO (set a=%%i)
	IF &quot;%a%&quot; neq &quot;&quot; (
		%a%
		set a=
	)
</code></pre></div><p>Суть в том, что на выходе КОМАНДЫ - код, который нужно выполнить. Всё работает до того момента, как в этом коде появляется ! текст с пробелами в кавычках ( echo &quot;hello world&quot; ). Если там будет команда с аргументами, соответственно разделёнными пробелами ( nircmd savescreenshot okno.png ), то всё работает и если текст в кавычках без пробелов ( echo &quot;abcdef&quot; ) - тоже. Батник просто закрывается без объяснения причин. Что мне с этим делать?</p>]]></description>
			<author><![CDATA[null@example.com (zax2002)]]></author>
			<pubDate>Mon, 14 Aug 2017 20:55:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=118325#p118325</guid>
		</item>
	</channel>
</rss>
