我想要利用批次檔擷取電腦裡的MAC 然後輸出成兩種格式
1. 16碼 (如: 00-11-22-33-44-55)
2. 前6碼 (如: 00-11-22)
但是問題來了,我利用findstr 去擷取getmac 會連後面的裝置識別碼一起擷取
例如(findstr "00-11-22" d:\mac.txt)
00-11-22-33-44-55 \Device\Tcpip_{92FBC6B1-70FD-492A-8099-A39EFB490082}
00-11-22-33-44-66 媒體已中斷連線
然後也不知道如何只截取前6碼
爬了很多文都沒有找到可用的方法
@echo off
for /f "delims=" %%a in ('findstr %1 %2') do @set foobar=%%a
set foobar=%foobar:~0,17%
echo %foobar%
執行
C:\Users\1tac>test "00-11-22" mac.txt
00-11-22-33-44-55
若只要輸出 "00-11-22", 把批次檔裡面的17改成8
參考資料
1. 17碼 (如: 00-11-22-33-44-55)
(用 - 及 空白 分隔)
for /f "tokens=1,2,3,4,5,6 delims=- " %i in ('getmac /NH') do @echo %i-%j-%k-%l-%m-%n
(用 空白 分隔)
for /f "tokens=1,2 delims= " %i in ('getmac /NH') do @echo %i
2. 前8碼 (如: 00-11-22)
(用 - 及 空白 分隔)
for /f "tokens=1,2,3,4,5,6 delims=- " %i in ('getmac /NH') do @echo %i-%j-%k




























































































