ご利用は自己責任で。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo off | |
setlocal enabledelayedexpansion | |
for /f "usebackq delims=" %%a in (`hostname`) do set CPNAME=%%a | |
set FPATH=C:\Users\○○○\Documents\MacAddress_%CPNAME%.txt | |
getmac /v /fo list > %FPATH% | |
type %FPATH% | |
pause | |
endlocal |
使い方は、MACアドレスを知りたいパソコンでバッチファイルを実行するだけです。
(バッチファイルの置き場所はローカルでなくても構いません。ネットワーク上…サーバーとかNASとか)
for /f "usebackq delims=" %%a in (`hostname`) do set CPNAME=%%a
バッチファイルを実行したパソコンのホスト名を変数「CPNAME」に格納します。
usebackq
「`」で囲まれた文字列をコマンドとして解釈。この場合はコマンドの「hostname」としてホスト名を表示。
delims
区切り文字をデフォルトのスペースとタブから任意のものに変更。「delims="」で何も指定しなかった場合は区切り文字無しとして解釈(?)
set FPATH=C:\Users\Administrator\Desktop\★\MacAddress_%CPNAME%.txt
ここの変数「FPATH」でMACアドレス出力先のディレクトリを指定しているので、予め出力先をサーバー等にしておくと便利かもしれません。
getmac /v /fo list > %FPATH%
MACアドレスを変数「FPATH」で指定したディレクトリにテキストファイル形式で出力します。
type %FPATH%
MACアドレスがちゃんと取得できたか確認するため、先ほど出力した.txtを読み込んでコマンドプロンプト上に表示します。
本当はリモートで任意(遠隔地とか)のパソコンのMACアドレスを知れたらよかったんですが、知りたい側のパソコンのファイアウォールを無効にしたりとか、他にも色々しないといけないみたいなので仕方なくローカルで一台ずつ操作してもらうことにしました。
使用者にバッチを叩いてもらうだけで、MACアドレスがサーバー上にアップされるので楽っちゃ楽ですけどね。コンピューター名がそのままファイル名になるようにしていますし、それ見てアップされてなければ催促すれば良いのですから。