<?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=10157</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10157&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: Добавить в начало каждой строки ее номер».]]></description>
		<lastBuildDate>Sun, 16 Nov 2014 18:50:29 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BAT: Добавить в начало каждой строки ее номер]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88402#p88402</link>
			<description><![CDATA[<p><strong>papacoca</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>@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFile=%~1

call :GetTemporaryName

if defined sSourceFile (
    if exist &quot;%sSourceFile%&quot; (
        set /a iCount = 0
        
        &gt;&quot;%TemporaryName%&quot; (
            for /f &quot;usebackq delims=&quot; %%i in (&quot;%sSourceFile%&quot;) do (
                set /a iCount += 1
                set sLine=%%i
                echo ^(!iCount!, &#039;!sLine:,=^|!&#039;^),
            )
        )
        
        &gt;nul copy /y &quot;%sSourceFile%&quot; &quot;%~dpn1.bak&quot;
        &gt;nul copy /y &quot;%TemporaryName%&quot; &quot;%sSourceFile%&quot;
        del /f /q &quot;%TemporaryName%&quot;
    ) else (
        echo Can&#039;t find source file [%sSourceFile%].
        exit /b 2
    )
) else (
    echo Usage: %~nx0 ^&lt;Source file^&gt;
    exit /b 1
)


endlocal
exit /b 0

rem ==========================================================================
rem Функция GetTemporaryName()
rem
rem Серый форум / CMD/BAT: генерация пути для временного файла или папки
rem (http://forum.script-coding.com/viewtopic.php?id=6259)
rem ==========================================================================
:GetTemporaryName
    setlocal enableextensions enabledelayedexpansion

:NextName
    set sTempName=%temp%\temp%random%.tmp

    if exist &quot;%sTempName%&quot; goto :NextName

    set sProcName=%~0

    endlocal &amp; set %sProcName:~4%=%sTempName%
    exit /b 0
rem ==========================================================================
</code></pre></div></div></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sun, 16 Nov 2014 18:50:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88402#p88402</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Добавить в начало каждой строки ее номер]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88401#p88401</link>
			<description><![CDATA[<p>alexii, спасибо большое, работает как часы...<br />Начал уже через Linux номера строк через консоль собирать такой командой: sed &#039;/./=&#039; baza.txt | sed &#039;/./N; s/\n/, /&#039;<br />Вот только консоль с кириллицей не дружит и номера строк почему то неправильные(</p><p>если нетрудно, есть формат синонимов только уже через запятую:<br />весьма,очень<br />ветвей,веток<br />ветви,ветки</p><p>Нужно переделать и сделать так:<br />(1, &#039;весьма|очень&#039;),<br />(2, &#039;ветвей|веток&#039;),<br />(3, &#039;ветви|ветки&#039;),</p>]]></description>
			<author><![CDATA[null@example.com (papacoca)]]></author>
			<pubDate>Sun, 16 Nov 2014 18:11:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88401#p88401</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Добавить в начало каждой строки ее номер]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88397#p88397</link>
			<description><![CDATA[<p>Пробуйте:<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>@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFile=%~1

call :GetTemporaryName

if defined sSourceFile (
    if exist &quot;%sSourceFile%&quot; (
        set /a iCount = 0
        
        &gt;&quot;%TemporaryName%&quot; (
            for /f &quot;usebackq delims=&quot; %%i in (&quot;%sSourceFile%&quot;) do (
                set /a iCount += 1
                echo ^(!iCount!, &#039;%%i&#039;^),
            )
        )
        
        &gt;nul copy /y &quot;%sSourceFile%&quot; &quot;%~dpn1.bak&quot;
        &gt;nul copy /y &quot;%TemporaryName%&quot; &quot;%sSourceFile%&quot;
        del /f /q &quot;%TemporaryName%&quot;
    ) else (
        echo Can&#039;t find source file [%sSourceFile%].
        exit /b 2
    )
) else (
    echo Usage: %~nx0 ^&lt;Source file^&gt;
    exit /b 1
)


endlocal
exit /b 0

rem ==========================================================================
rem Функция GetTemporaryName()
rem
rem Серый форум / CMD/BAT: генерация пути для временного файла или папки
rem (http://forum.script-coding.com/viewtopic.php?id=6259)
rem ==========================================================================
:GetTemporaryName
    setlocal enableextensions enabledelayedexpansion

:NextName
    set sTempName=%temp%\temp%random%.tmp

    if exist &quot;%sTempName%&quot; goto :NextName

    set sProcName=%~0

    endlocal &amp; set %sProcName:~4%=%sTempName%
    exit /b 0
rem ==========================================================================
</code></pre></div></div></div><p>Можно просто перетащить исходный файл поверх командного файла в Проводнике. Пустые строки будут пропущены.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sun, 16 Nov 2014 16:23:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88397#p88397</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BAT: Добавить в начало каждой строки ее номер]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88396#p88396</link>
			<description><![CDATA[<p>Как добавить на начало каждой строки ее номер.</p><p>Есть база синонимов в .txt файле такого типа:<br />вздваивание|сдвоение<br />вздваивать|удваивать<br />вздваиваю|удваиваю</p><p>Нужно переделать и сделать так:<br />(1, &#039;вздваивание|сдвоение&#039;),<br />(2, &#039;вздваивать|удваивать&#039;),<br />(3, &#039;вздваиваю|удваиваю&#039;),</p><p>Нашел в интернете батник который добавляет символы в конец каждой строки, можно и в начало строки (#^%i):<br /></p><div class="codebox"><pre><code>for /f &quot;delims=&quot; %i in (1.txt) do @(echo %i^#)&gt;&gt;file2.txt</code></pre></div><p>А вот как добывить № не нашел...</p>]]></description>
			<author><![CDATA[null@example.com (papacoca)]]></author>
			<pubDate>Sun, 16 Nov 2014 14:51:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88396#p88396</guid>
		</item>
	</channel>
</rss>
