IP アドレスをバッチファイル変数に取り込むにはどうすればいいですか? 質問する

IP アドレスをバッチファイル変数に取り込むにはどうすればいいですか? 質問する

奇妙な質問があるのですが、それが可能かどうかわかりません。

スクリプトを記述したいのですが、たとえばコマンドとして ipconfig を使用します。

通常、このコマンドを実行すると、大量の出力が生成されます。

たとえば、IP アドレスのみを表示するスクリプトが欲しいです。

echo Network Connection Test
ipconfig <---This would run in the background
echo Your IP Address is: (INSERT IP ADDRESS HERE)

出力は次のようになる

Network Connection Test

Your IP Address is: 192.168.1.1

そんなことが可能なのでしょうか?

ベストアンサー1

次のコードはWindows XP 以降のあらゆるプラットフォームのあらゆるロケールそしてそれはネットワークIP(多かれ少なかれ)ランダムなネットワーク カードから取得します。数ミリ秒以上かかることはありません。

for /f "delims=[] tokens=2" %%a in ('ping -4 -n 1 %ComputerName% ^| findstr [') do set NetworkIP=%%a
echo Network IP: %NetworkIP%

次のものはあなたのパブリックIP代わりに、Windows 7 以降のマシンで動作します。

for /f %%a in ('powershell Invoke-RestMethod api.ipify.org') do set PublicIP=%%a
echo Public IP: %PublicIP%  

これらのコマンドの詳細な説明は以下をご覧ください。私のブログ

おすすめ記事