<?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=18455</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=18455&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: Корректно работает только при повторном запуске, баг?».]]></description>
		<lastBuildDate>Wed, 11 Jun 2025 03:28:05 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BAT: Корректно работает только при повторном запуске, баг?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=162508#p162508</link>
			<description><![CDATA[<p>Не тестировал, но думаю, здесь по аналогии с предыдущим примером.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 11 Jun 2025 03:28:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=162508#p162508</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Корректно работает только при повторном запуске, баг?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=162507#p162507</link>
			<description><![CDATA[<p>Спасибо, осознал. Вопрос номер 2.</p><p>bat_1.cmd<br /></p><div class="codebox"><pre><code>@echo off

set attr=%1

call :test %attr%
if %ERRORLEVEL% equ 1 (
	echo ERROR
) else (
	echo OK
)

exit /b

:test
	if %1 equ 10 exit /b 0
	exit /b 1
	</code></pre></div><p>bat2.cmd<br /></p><div class="codebox"><pre><code>@echo off

set attr=%1

if defined attr (
	call :test %attr%
	if %ERRORLEVEL% equ 1 (
		echo ERROR
	) else (
		echo OK
	)
)

exit /b

:test
	if %1 equ 10 exit /b 0
	exit /b 1
	</code></pre></div><p>Получается в таком виде вложенность не может работать?<br /></p><div class="quotebox"><blockquote><p>bat_1.cmd 10 :: OK<br />bat_1.cmd 11 :: ERROR<br />bat_2.cmd 10 :: OK<br />bat_2.cmd 11 :: OK</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (DnsIs)]]></author>
			<pubDate>Mon, 09 Jun 2025 04:41:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=162507#p162507</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Корректно работает только при повторном запуске, баг?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=162504#p162504</link>
			<description><![CDATA[<p><strong>teadrinker</strong> прав. Это же азы командных файлов. В скобках используйте отложенное раскрытие переменных:<br /></p><div class="codebox"><pre><code>	echo !attr!</code></pre></div><p>или<br /></p><div class="codebox"><pre><code>	calll echo %%attr%%</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Мальчик-гей)]]></author>
			<pubDate>Tue, 03 Jun 2025 04:24:43 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=162504#p162504</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Корректно работает только при повторном запуске, баг?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=162501#p162501</link>
			<description><![CDATA[<p>Скорее всего причина в том, что cmd подставляет переменные %myvar% при первоначальном парсинге, до запуска скрипта. Переменные подставляются построчно; то, что внутри блока (), считается одной строкой.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Mon, 02 Jun 2025 16:30:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=162501#p162501</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BAT: Корректно работает только при повторном запуске, баг?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=162500#p162500</link>
			<description><![CDATA[<p>Почему такой код срабатывает только со второго раза?</p><p>Файл wat.cmd<br /></p><div class="codebox"><pre><code>@echo off
if not &quot;%1&quot;==&quot;&quot; (
	set attr=%~a1
	echo %attr%
)
</code></pre></div><p>:<br /></p><div class="quotebox"><blockquote><p>C:\#_\TEST&gt;wat.cmd wat.cmd<br />Режим вывода команд на экран (ECHO) отключен.</p><p>C:\#_\TEST&gt;wat.cmd wat.cmd<br />--a--------</p></blockquote></div><p>Но вот так работает с первого:<br /></p><div class="codebox"><pre><code>@echo off
if not &quot;%1&quot;==&quot;&quot; (
	echo %~a1
)
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (DnsIs)]]></author>
			<pubDate>Mon, 02 Jun 2025 10:59:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=162500#p162500</guid>
		</item>
	</channel>
</rss>
