윈 도 우 CMD로 MAC 주소를 따서 변수에 저장할 수 있을까요..?
2016.02.20 14:48
안녕하세요..
요즘 pxe를 이용해서 윈도우를 배포하고 있습니다.
무인설치를 지향하는 터라 전 과정을 무인으로 하려고 하는데 맥 주소가 절실하게 필요합니다.
powershell에서는 (get-netadapter "이더넷").Macaddress 를 통해서 한 줄만에 맥 주소를 얻을 수 있는데 문제는 WindowsPE에서는 이 명령이 안됩니다 ㅠㅠ
거기다가 WinPE에 Powershell 지원을 넣을 경우 100Mib 가까이 용량이 늘어버리더라구요..
저희 학교 네트워크 사정이 그리 좋지 못해서 200Mib 짜리 PE 불러오는 것도 힘들어 하는데.. 100Mib가 더 늘어버리는 것은 별로 달가운 점은 아닙니다.
이에 따라서 batch를 통해서 맥 주소를 얻어오는 방법이 가장 좋을 듯 한데 batch 문법은 정말 봐도 모르겠네요 ㅠㅠ
ipconfig /all을 통해서 이더넷에 있는 mac 주소를 얻어다 %mac%와 같은 변수에 넣고 싶은데 어떻게 할 수 있을까요..?
맥 주소 형식은 00-00-00-00-00-00-00-00 이런 형식이면 됩니다. ipconfig /all 했을 때 물리적 주소에 이런 형식으로 나오니 큰 상관은 없을 듯 합니다.
다만 변수에 맥주소만! 들어가야 합니다.. 다른 문자열이 포함되면 안됩니다 ㅠㅠ
댓글 [4]
-
DarknessAngel 2016.02.20 19:13
-
딕맨 2016.02.21 10:11
학교에 계시는군요.
일단 ipconfig /all 에서 Mac 주소가 나오니 구문분석으로 추출할 수 있겠네요.
ipconfig /all > mac.txt 에서 아래와 같은 구문이 나오면
물리적 주소 . . . . . . . . : 00-00-00-00-00-00
위와 같이 나오면 공백으로 구분되므로 주소가 두번째이고 Mac주소는 12번째이군요.
for /f 구문에서 token을1, 2와 12로 주고 %j에 주소가 될 때에 %k에 Mac주소가 되므로
이것을 mac에 set 하면 되겠습니다.
[예문]
ipconfig /all > mac.txt
FOR /F "eol=; tokens=1,2,12 delims=, " %%i in (mac.txt) Do (
@echo %%i %%j %%kif "%%j"=="주소" (
set mac=%%k
goto END )
pause )
:END
@echo %mac%
pausedel mac.txt
exit중간중간에 echo 와 pause는 확인용으로 넣었으니 ipconfig /all에서 나오는 구문으로 분석하여 확인하시고 적절히 추출하시면 되겠습니다.
이것은 ipconfig /all을 mac.txt로 했을 때
첫번째 "물리적 주소 . . . . . . . . : 00-00-00-00-00-00 "에 해당하는 Mac주소를 추출하는 구문이므로 상황에 따라 고쳐서 사용하시면 되겠습니다.
이것을 실제로 적용시켜 batch를 만들면 다음과 같습니다.
첨부한 mac.bat의 내용입니다.
@echo off
FOR /F "eol=; tokens=1,2,12 delims= " %%i IN ('ipconfig /all') DO (if "%%i"=="물리적" (
if "%%j"=="주소" (
set mac=%%k
goto END )))
:END
echo %mac%첨부화일을 실행시키면 내컴에서는 첫번째 Mac주소를 출력시켜 주는 데 다른 컴에서는 어떨지...
감사합니다.
-
kusaki 2016.02.22 13:14 덧글 감사합니다. 이 덧글 보기 전에 해결했네요 ㅠㅠ
저는 아래와 같이 해결했습니다.
아직 배치파일 문법을 잘 몰라서 문장이 길어지면 의미가 해석이 안되네요 ㅠㅠ
findstr을 사용하고 싶었는데 WinPE에서는 findstr이 안되더라구요..
for /f "delims=" %%i in ('ipconfig /all ^| find "Physical"') do SET MacAddress=%%i
SET MacAddress=%MacAddress:~39,17%
echo. %MacAddress%
pause -
딕맨 2016.02.25 18:24
Mac 주소를 뽑아내기 위하여 ipconfig에서 구문분석을 적용하였는데
cmd에서 이 명령이 듣네요.
getmac /nh
나중에 참고하기 위하여 여기 댓글 달아놓습니다.
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
62121 | 윈 도 우| 윈도우10 클린 설치 하루 만에 500MB 가 늘어났네요. [7] | Stileto | 1383 | 02-20 |
62120 | 윈 도 우| 도대체 윈도우 10은 램을 얼마나 써야 램99퍼 사용상태를 ... [11] | 바튼 | 2861 | 02-20 |
62119 | 소프트웨어| 오피스365 자동 업데이트 관련 질문인데요 | ANT-MAN | 879 | 02-20 |
62118 | 윈 도 우| 안녕하세요 윈도10 ㅇㅈ관련 질문드려봅니다 [6] | 똘복이 | 902 | 02-20 |
62117 | 기 타| exFAT로 USB포맷해서 사용해도 되나요? [3] | 띄용 | 1431 | 02-20 |
62116 | 윈 도 우| 윈도우10 듀얼모니터 사용할 경우... [2] | PuTiKo | 1193 | 02-20 |
62115 | 하드웨어| U+ tv 랑 공유기 따로 구입하여 쓰시는분께 질문 [2] | 솔트 | 856 | 02-20 |
» | 윈 도 우| CMD로 MAC 주소를 따서 변수에 저장할 수 있을까요..? [4] | kusaki | 979 | 02-20 |
62113 | 윈 도 우| 컴알못 질문잇습니다 [2] | 똘복이 | 816 | 02-20 |
62112 | 윈 도 우| 파티션 합치기 [5] | 나사로 | 2164 | 02-20 |
62111 | 기 타| 팀뷰어문의 [2] | 빠삐용 | 1096 | 02-20 |
62110 | 하드웨어| TG AVERATEC 8100 에 대한 문의 입니다 [3] | pc박사 | 1372 | 02-20 |
62109 | 윈 도 우| 윈도우 sysprep(첫실행 감사모드)문의 [1] | 용머리 | 873 | 02-20 |
62108 | 윈 도 우| 윈도우10 엔터프라이즈는 영구인증이 불가한건가요? [3] | BigShit | 1675 | 02-20 |
62107 | 윈 도 우| 윈도우 10, 레드스톤 빌드 14267로 업데이트 후 부팅문제 발생 [2] | 데오필로 | 1046 | 02-20 |
62106 | 소프트웨어| win8 PE로 부팅 후, eMMC(하드)가 보이지 않는 경우가? [5] | pinnk | 1020 | 02-20 |
62105 | 소프트웨어| 프리모캐쉬 설정중에 [2] | 쭌쭌 | 1293 | 02-20 |
62104 | 윈 도 우| DoNotSpy10 적용후 부팅불가 | 虎視 | 979 | 02-20 |
62103 | 소프트웨어| uefi/gpt 에서 설치된 os를 다른 ssd로 옮기는 방법 문의 [3] | 운상아짜 | 1010 | 02-19 |
62102 | 윈 도 우| 윈도우 10, 레드스톤 빌드 14267 새로 설치 후 은행사이트 ... [2] | mSv | 1753 | 02-19 |
윈도 내장으로는 문자열 처리가 힘들고 하다못해 gnu쪽 힘이라도 빌려야합니다 (용량 몇메가는 늘어남)