- PR -

バッチで自分のIPアドレスを取得する簡易な方法

投稿者投稿内容
sun
会議室デビュー日: 2005/02/04
投稿数: 16
投稿日時: 2005-04-21 10:53
この会議室良く利用させていただいております。

自分のPCのIPアドレスを取得する簡易な方法は有りませんでしょうか?

ユーザ名とかコンピュータ名は環境変数で簡単に取得できるのですが、
IPアドレスの取得に苦慮しています。
ipconfigで確認は出来ますが、それからIPアドレスの部分だけ取り出す
ような方法しかないのでしょうか?(この方法でも簡単にいなないようですが)

もしかしたら、難しく考えているような気もしますが・・・

知恵を拝借させて下さい。


NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2005-04-21 11:03
今日は。

え〜と、取り出してどういう目的で使いたいのかが
見えないので一般的な方法で。(プログラムに組み込むにしても応用すれば出来るでしょう)

ipconfig -all > 適当なファイル名

で結果をファイルにリダイレクトすれば良いのでは無いでしょうか? 

綾瀬
ぬし
会議室デビュー日: 2002/07/31
投稿数: 393
お住まい・勤務地: どっちも3階
投稿日時: 2005-04-21 11:16
こんにちは。

ipconfigでfind仕掛けてIPアドレスの行だけ抜き出すのはダメでしょうか。
これで余計な行は消えてくれると思いますが。

ipconfig | find "IP Address"

それとも本当に「IPアドレスの部分だけ」を取り出したいんでしょうか。
となるとちょっと私にはわからないです。ごめんなさい。

ところでコマンドプロンプトにこだわる理由って何かありますか?
綾瀬
ぬし
会議室デビュー日: 2002/07/31
投稿数: 393
お住まい・勤務地: どっちも3階
投稿日時: 2005-04-21 11:18
こんにちは。

ipconfigでfind仕掛けてIPアドレスの行だけ抜き出すのはダメでしょうか。
これで余計な行は消えてくれると思いますが。

ipconfig | find "IP Address"

それとも本当に「IPアドレスの部分だけ」を取り出したいんでしょうか。
となるとちょっと私にはわからないです。ごめんなさい。

ちなみにコマンドプロンプトにこだわってる訳ではないんですよね?
であればたぶん方法はたくさんあります。WSHとか使えば。
Zain
会議室デビュー日: 2005/04/21
投稿数: 6
お住まい・勤務地: 首都圏
投稿日時: 2005-04-21 11:42
こんにちわ

バッチでと件名にあったので、下記の方法ではいかがでしょうか?

for /F "delims=: tokens=1,2 " %i in (' ipconfig ^|find /i "ip address" ') do @echo %j

出力結果の頭に空白がついてしまうのが難点ですけど…
sun
会議室デビュー日: 2005/02/04
投稿数: 16
投稿日時: 2005-04-21 13:07
有難うございました。
こんな方法が有るのですね。
先が見えてきました。
この結果をバッチの環境変数にセットする事は簡単に出来るのでしょうか?
set MYIP= XXXXXX  XXXXXは出力結果
たびたび申し訳有りません。宜しくお願いします。

sun
会議室デビュー日: 2005/02/04
投稿数: 16
投稿日時: 2005-04-21 13:07
有難うございました。
こんな方法が有るのですね。
先が見えてきました。
この結果をバッチの環境変数にセットする事は簡単に出来るのでしょうか?
set MYIP= XXXXXX  XXXXXは出力結果
たびたび申し訳有りません。宜しくお願いします。

sun
会議室デビュー日: 2005/02/04
投稿数: 16
投稿日時: 2005-04-21 14:09
教えていただいたやり方で、チョット加工してみました。

for /F "delims=: tokens=1,2 " %i in (' ipconfig ^|find /i "ip address" ') do @set MYIP=%j

下記の様に環境変数にセットされたようです。
但し、MYIPが 最初のMがスペースに変わって表示されています。
WINXPのバグでしょうか?

C:\Documents and Settings\Administrator>set MYIP
YIP= 172.16.1.218

スキルアップ/キャリアアップ(JOB@IT)