<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; CMD/BAT: Заменить строки в текстовом файле]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6797&amp;type=atom" />
	<updated>2012-02-10T11:43:28Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=6797</id>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Заменить строки в текстовом файле]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56643#p56643" />
			<content type="html"><![CDATA[<p>Спасибо, вот так тоже работает, может кому пригодиться!<br /></p><div class="codebox"><pre><code>@Echo On
Set In=card.txt
Set InTmp=%In%.Tmp

SetLocal EnableExtensions
SetLocal EnableDelayedExpansion

Move /Y &quot;%In%&quot; &quot;%InTmp%&quot; &gt;Nul

If %ErrorLevel% EQU 0 (
   FOR /F &quot;usebackq tokens=1,2,3 delims=;,&quot; %%a IN (&quot;%InTmp%&quot;) DO (
      If %%b GEQ 0 Echo %%a,0&gt;&gt;&quot;%In%&quot;
      If %%b LSS 0 Set /A bb=-%%b &amp; Echo %%a,!bb!.%%c&gt;&gt;&quot;%In%&quot;
   )
   Del &quot;%InTmp%&quot; &gt;Nul
)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[AOS]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27486</uri>
			</author>
			<updated>2012-02-10T11:43:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56643#p56643</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Заменить строки в текстовом файле]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56642#p56642" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>AOS пишет:</cite><blockquote><p>Реально ли такое сделать?</p></blockquote></div><p>Может можно и короче, но у меня получилось так:<br /></p><div class="codebox"><pre><code>del card.tmp -q
for /F &quot;TOKENS=1,2 DELIMS=- &quot; %%i in (card.txt) do @ECHO %%i ;metka; %%j &gt;&gt; card.tmp

del card.txt -q
for /F &quot;TOKENS=1,2,3,4 DELIMS=; &quot; %%i in (card.tmp) do call :replace  %%i %%j %%k %%l
exit /b

:replace
@ECHO %1 %2 %3 %4
if &quot;%2&quot;==&quot;metka&quot; (
    @ECHO %1,%3.%4 &gt;&gt; card.txt
) else (
    @ECHO %1,0 &gt;&gt; card.txt
)

exit /b</code></pre></div>]]></content>
			<author>
				<name><![CDATA[chichva]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26880</uri>
			</author>
			<updated>2012-02-10T11:10:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56642#p56642</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[CMD/BAT: Заменить строки в текстовом файле]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56638#p56638" />
			<content type="html"><![CDATA[<p>Доброго времени суток! Есть такая задача: существует некий текстовый документ (card.txt) со следующим содержанием (кол-во строк и содержание меняется)<br /></p><div class="codebox"><pre><code>1045;196,66
1046;301,60
1047;344,45
1048;212,70
1050;-31,40
1052;212,40</code></pre></div><p>Требуется сначала заменить запятые на точки, потом точку с запятой на запятые. После чего проверить, если после запятой значение положительное&nbsp; то вместо него поставить ноль, если отрицательное то просто убрать минус перед значением.</p><p>Реально ли такое сделать?</p>]]></content>
			<author>
				<name><![CDATA[AOS]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27486</uri>
			</author>
			<updated>2012-02-10T09:10:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56638#p56638</id>
		</entry>
</feed>
