<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; CMD/BAT: выделить из вывода команды ipconfig только адрес, без точек]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5346&amp;type=atom" />
	<updated>2011-01-09T07:23:38Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=5346</id>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: выделить из вывода команды ipconfig только адрес, без точек]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=43449#p43449" />
			<content type="html"><![CDATA[<p>Спасибо!</p>]]></content>
			<author>
				<name><![CDATA[fsc_psd]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26180</uri>
			</author>
			<updated>2011-01-09T07:23:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=43449#p43449</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: выделить из вывода команды ipconfig только адрес, без точек]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=43397#p43397" />
			<content type="html"><![CDATA[<p><em>&gt; Зачем set</em><br />конструкция %var:.=% не работает с переменными вида %%х<br /><em>&gt; почему call</em><br />было лень писать 2(3?) строчки<br /></p><div class="codebox"><pre><code>setlocal enabledelayedexpansion
echo !ip:.=!</code></pre></div><p><em>&gt; откуда четвёртый знак процента?</em><br />четвёртый и второй нужны для call<br /><em>&gt; P.P.S</em><br /></p><div class="codebox"><pre><code>@echo off
for /f &quot;tokens=2 delims=:&quot; %%a in (&#039;ipconfig ^|findstr /c:IP-&#039;) do (
for /f &quot;tokens=3* delims=.&quot; %%b in (&quot;%%a&quot;) do echo %%b-%%c &gt;&gt;ipaddr.txt
)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[!k]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26608</uri>
			</author>
			<updated>2011-01-08T09:15:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=43397#p43397</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: выделить из вывода команды ipconfig только адрес, без точек]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=43392#p43392" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Хм, а как потом разбирать будете, если цифр &lt;12?</p></blockquote></div><p>Ахаха, и верно! Первые два октета известны заранее, и я в горячке априори принял, что можно будет отчленить и оставшиеся два. Ошибка.&nbsp; Задача переходит в разряд теоретических.</p><div class="codebox"><pre><code>@echo off
for /f &quot;tokens=2 delims=:&quot; %%a in (&#039;ipconfig ^|findstr /c:IP-&#039;) do (
set ip=%%a
call echo %%ip:.=%% &gt;&gt;ipaddr.txt
)</code></pre></div><p>Не могли бы вы пояснить этот пример? Зачем set и почему call и откуда четвёртый знак процента?</p><p>P.S. По ходу пьесы возник вопрос ещё одного, дополнительного преобразования адреса: отсечь, например, первые пять символов. Подскажите, пожалуйста, можно ли его реализовать в рамках вышеописанного цикла? Вариант с еще одним циклом, обрабатывающим файл, получившийся на выходе предыдущего, очевидно громоздок.</p><p>P.P.S Вкратце опишу идею, на всякий случай. Нужно периодически выкладывать на общедоступный фтп-сервер слегка замаскированный результат команды ipconfig, т.к. адрес часто меняется и неплохо бы иметь представление о том, каков он в данный момент. Самый простой способ, конечно, это пихать вывод ipconfig в запароленный архив или в фтп-папку с ограниченным доступом, но я вот что-то решил так попробовать, надеюсь с вашей помощью получится. В идеале мне нужен адрес без первых семи символов (два октета (2+3) и две точки, итого 7) и с дефисом в виде разделителя. Например, 15-252.</p>]]></content>
			<author>
				<name><![CDATA[fsc_psd]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26180</uri>
			</author>
			<updated>2011-01-08T04:29:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=43392#p43392</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: выделить из вывода команды ipconfig только адрес, без точек]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=43379#p43379" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>fsc_psd пишет:</cite><blockquote><p>только ip-адрес, причём без точек.</p></blockquote></div><p>Хм, а как потом разбирать будете, если цифр &lt;12?<br /></p><div class="codebox"><pre><code>@echo off
for /f &quot;tokens=2 delims=:&quot; %%a in (&#039;ipconfig ^|findstr /c:IP-&#039;) do (
set ip=%%a
call echo %%ip:.=%% &gt;&gt;ipaddr.txt
)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[!k]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26608</uri>
			</author>
			<updated>2011-01-07T16:32:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=43379#p43379</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[CMD/BAT: выделить из вывода команды ipconfig только адрес, без точек]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=43373#p43373" />
			<content type="html"><![CDATA[<p>Здравствуйте!<br />Необходимо выделить из вывода команды ipconfig только ip-адрес, причём без точек.</p><p>С первой частью справился так:<br /></p><div class="codebox"><pre><code>for /f &quot;skip=37 tokens=14&quot; %%a in (&#039;ipconfig&#039;) do
(
    echo %%a &gt;&gt; ipaddr.txt
)
exit /b</code></pre></div><p>Точки думал убрать расширенной подстановкой переменных:<br /></p><div class="codebox"><pre><code>echo %%a:.=% &gt;&gt; ipaddr.txt</code></pre></div><p>Но внутри цикла расширенная подстановка работать отказывается.</p><p>Соответственно, два вопроса:<br />-решается ли задача моим способом, и если решается, то где я ошибся?<br />-как можно решить по-другому?</p>]]></content>
			<author>
				<name><![CDATA[fsc_psd]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26180</uri>
			</author>
			<updated>2011-01-07T09:49:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=43373#p43373</id>
		</entry>
</feed>
