<?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=5276</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5276&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: Не работает счётчик».]]></description>
		<lastBuildDate>Sun, 12 Dec 2010 18:12:05 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BAT: Не работает счётчик]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42839#p42839</link>
			<description><![CDATA[<p>Вы не правы. Работает:<br /></p><div class="codebox"><pre><code>@echo off
Set /a N = 0
for /r .\Dir\ %%i in (*.txt) do (
set /a N = N + 1
echo %N%:%%~ni
)
echo %N%</code></pre></div><p>Дело в том, что внутри скобок раскрытие переменных происходит в момент входа в них (то бишь, однократно при входе). Отсюда и будет «0:…», «0:…» …</p><p>Вам нужно использовать отложенное раскрытие переменных, например, так:<br /></p><div class="codebox"><pre><code>@echo off
setlocal enableextensions enabledelayedexpansion

set /a n = 0

for /r &quot;.\Dir\&quot; %%i in (*.txt) do (
    set /a n = n + 1
    echo !n!:%%~ni
)

endlocal
exit /b 0</code></pre></div><p>Либо вызывать как процедуру:<br /></p><div class="codebox"><pre><code>@echo off
setlocal

set /a n = 0

for /r &quot;.\Dir\&quot; %%i in (*.txt) do (
    set /a n = n + 1
    call echo %%n%%:%%~ni
)

endlocal
exit /b 0</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sun, 12 Dec 2010 18:12:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42839#p42839</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BAT: Не работает счётчик]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42835#p42835</link>
			<description><![CDATA[<div class="codebox"><pre><code>@echo off
Set N=0
for /r .\Dir\ %%i in (*.txt) do (
set /a N = N + 1
echo %N%:%%~ni
)</code></pre></div><p>Не работает счётчик &quot;set /a N = N + 1&quot; не работает почему что я не так делаю?</p>]]></description>
			<author><![CDATA[null@example.com (Егорыч)]]></author>
			<pubDate>Sun, 12 Dec 2010 15:27:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42835#p42835</guid>
		</item>
	</channel>
</rss>
