<?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: Цикл for с одной строкой]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=6257</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6257&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: Цикл for с одной строкой».]]></description>
		<lastBuildDate>Wed, 28 Sep 2011 20:59:59 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BAT: Цикл for с одной строкой]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=51943#p51943</link>
			<description><![CDATA[<p>Большое спасибо</p>]]></description>
			<author><![CDATA[null@example.com (Александр_foxware)]]></author>
			<pubDate>Wed, 28 Sep 2011 20:59:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=51943#p51943</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Цикл for с одной строкой]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=51916#p51916</link>
			<description><![CDATA[<p><strong>Александр_foxware</strong>, один вариант уже указал коллега <strong>shiz</strong>. Не забывайте про возможность изменения разделителя посредством замены, например: «%var:-= %».</p><p>Второй вариант — разбор посредством вызова процедуры:<br /></p><div class="codebox"><pre><code>@echo off
setlocal enableextensions enabledelayedexpansion

set extensionfind=dbf;cdx;dd;md

call :Parse %extensionfind:;= %

endlocal
exit /b 0

:Parse
    setlocal enableextensions enabledelayedexpansion
:Repeat
    set sValue=%~1

    if defined sValue (
        echo [%sValue%]
        shift
        goto :Repeat
    )

    echo Done

    endlocal
    exit /b 0</code></pre></div><p>Использование процедуры даёт большие возможности в плане разбора. Например, можно в начале пропустить какие-то аргументы («shift /n» в начале), можно читать только чётные или нечётные аргументы («shift /2» внутри блока разбора) и т.п.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Wed, 28 Sep 2011 00:23:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=51916#p51916</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Цикл for с одной строкой]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=51913#p51913</link>
			<description><![CDATA[<p>Используйте шаблон-звездочку для указания &quot;всего остального&quot;:<br />либо так<br /></p><div class="codebox"><pre><code>
for /f &quot;tokens=* delims=,&quot; ...</code></pre></div><p>либо так<br /></p><div class="codebox"><pre><code>
for /f &quot;tokens=1* delims=,&quot; ...</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Tue, 27 Sep 2011 22:32:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=51913#p51913</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Цикл for с одной строкой]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=51912#p51912</link>
			<description><![CDATA[<p>Попробуй просто </p><div class="codebox"><pre><code>for %%a in (%extensionfind%) do echo %%a</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (shiz)]]></author>
			<pubDate>Tue, 27 Sep 2011 21:38:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=51912#p51912</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BAT: Цикл for с одной строкой]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=51907#p51907</link>
			<description><![CDATA[<p>Здраствуйте! Пытаюсь сладить с конструкцией for, что-то не получается.<br />Как сделать так чтобы в цикле перебрал значения из одной строки.</p><div class="codebox"><pre><code>set extensionfind=dbf,cdx,dd,md
for /f &quot;Tokens=1-10 delims=,&quot; %%a in (&quot;%extensionfind%&quot;) do echo %%a &gt;&gt; 1.txt</code></pre></div><p>Берет только первое значение в строке. Я понимаю что в следующих строчках %%b,%%c,%%d будут мои значения. Но количество значений меняется да и как то неудобно писать для каждого значения строчку.</p><div class="codebox"><pre><code>set extensionfind=dbf,cdx,dd,md
for /f &quot;Tokens=1-10 delims=,&quot; %%a in (&quot;%extensionfind%&quot;) do (
	echo %%a &gt;&gt; finding.txt
	echo %%b &gt;&gt; finding.txt
	echo %%c &gt;&gt; finding.txt
	echo %%d &gt;&gt; finding.txt
	echo %%e &gt;&gt; finding.txt
)</code></pre></div><p>И при таком варианте, когда пятого значения нет выдаст что режим отображения включен.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_foxware)]]></author>
			<pubDate>Tue, 27 Sep 2011 15:23:21 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=51907#p51907</guid>
		</item>
	</channel>
</rss>
