iT邦幫忙

0

如何自動取得mac address using batch

clhjoe 2009-06-26 10:14:4612362 瀏覽

從ipconfig的資訊取得mac address可以用
ipconfig -all |find "Physical Address"
但是前頭會有"Physical Address. . . . . . . . . :"請問如何銷調前頭的這些字串或有其他方法直接得到mac address嗎?

2 個回答

26
alexc
iT邦高手 1 級 ‧ 2009-06-26 11:20:26
最佳解答
<pre class="c" name="code">@echo off
for /f "skip=1 tokens=3 delims=," %%i in ('"getmac /v /fo csv"') do echo %%i

限制條件:

  1. 只能用在 Windows XP 之後的作業系統
  2. 出來的結果會被 " 包起來
cooch iT邦研究生 3 級 ‧ 2009-06-26 11:38:15 檢舉

真令人不敢相信,
我今天才知道有 getmac 這個內建指令 !!!!

clhjoe iT邦新手 4 級 ‧ 2009-06-26 11:54:47 檢舉

我也是今天才知道@@

jamesjan iT邦高手 1 級 ‧ 2009-06-27 20:32:01 檢舉

真的有耶!!

22
cooch
iT邦研究生 3 級 ‧ 2009-06-26 10:46:27
<pre class="c" name="code">ipconfig /all | find "Physical" > c:\temp\mac.tmp
FOR /F "TOKENS=12* DELIMS= " %%A IN ('type C:\temp\mac.tmp') DO SET mac=%%A
echo %mac%

可以單獨取出 MAC 訊息,
關鍵是在第二行字串擷取的寫法!

clhjoe iT邦新手 4 級 ‧ 2009-06-26 11:54:12 檢舉

那請問要怎麼去掉結果中的'-'字元呢?

cooch iT邦研究生 3 級 ‧ 2009-06-26 13:47:57 檢舉

ipconfig /all | find "Physical" > c:\temp\mac1.txt
FOR /F "TOKENS=12* DELIMS= " %%A IN (C:\temp\mac1.txt) DO echo %%A > c:\temp\mac2.txt
FOR /F "TOKENS=1-6 DELIMS=-" %%A IN (C:\temp\mac2.txt) DO echo %%A%%B%%C%%D%%E%%F > C:\temp\mac3.txt

mac3.txt 就是您要的...

我要發表回答

立即登入回答