【bat】バッチファイルでPCのIPアドレスを取得してログに記録する方法

【bat】バッチファイルでPCのIPアドレスを取得してログに記録する方法 bat

バッチファイルを使えば、PCのIPアドレスを取得し、それをログファイルに記録しておくことが可能です。ネットワークトラブルの原因調査や、定期的な状態確認などに役立ちます。

IPアドレスを取得するコマンド

まず、現在のPCのIPアドレスを取得するには、以下のコマンドが使えます。

ipconfig

ただし、この出力は情報量が多いため、IPアドレスだけを抽出したい場合は findstr コマンドでフィルタリングします。

ipconfig | findstr "IPv4"

このコマンドは「IPv4 アドレス」を含む行だけを出力します。

ログに記録するバッチファイルの例

以下は、取得したIPアドレスを日付付きのログファイルに追記していくバッチファイルのサンプルです。

@echo off
setlocal enabledelayedexpansion

:: ログファイルのパス
set LOGFILE=%~dp0ip_log.txt

:: 現在時刻を取得
for /f "tokens=1-4 delims=/ " %%a in ('date /t') do (
  set YYYYMMDD=%%a-%%b-%%c
)
for /f "tokens=1-2 delims=: " %%a in ('time /t') do (
  set TIME=%%a:%%b
)

:: IPアドレスを取得
for /f "tokens=2 delims=:" %%i in ('ipconfig ^| findstr "IPv4"') do (
  set IP=%%i
  set IP=!IP:~1!
)

:: ログファイルに追記
echo [%YYYYMMDD% %TIME%] IP Address: !IP! >> "%LOGFILE%"
  • >set LOGFILE=%~dp0ip_log.txt 実行ファイルと同じ場所にログを保存します。
  • date /t と time /t で日付と時刻を取得します。
  • ipconfig | findstr “IPv4” でIPv4アドレスの行を探し、値部分だけを取り出します。
  • >> 演算子を使ってログファイルに追記します。

実行結果の例

ip_log.txt に以下のような形式で追記されていきます。

[2025-05-09 14:32] IP Address: 192.168.1.101
[2025-05-10 09:10] IP Address: 192.168.1.103