기 타 레마클로님 wifi on/off 스크립트 (수정) pnputil 추가
2023.06.20 11:55
예전에 레마클로님 강좌 팁 중 Wifitoggle 스크립트를 공유해준부분에서
약간 수정해 보았습니다. 메인 스크립트를 누르면 실행 스크립트를
만들어 주는 부분이 있었는데 파일 한개로 통합해 보았습니다.
출처:
https://windowsforum.kr/index.php?mid=lecture&search_keyword=wifi&search_target=title_content&document_srl=12789549
다운로드: WifiToggle.zip
레마클로님 이 주신 스크립트에서는 devcon.exe 이라든가
qgrep.exe 두개 파일로 WiFi 장치 확인 및 줄 확인을
하여 실행합니다. 최대한 명령줄을 줄여 봤습니다.
------------------------------------------------------------
@echo off
type "enable" >nul&&set "toggle=disable"||set "toggle=enable"
del /q "disable", "enable">nul&devcon hwids =net>"devconout"
qgrep -n -y "Wi-Fi wireless" "devconout">"qgrepout"
FOR /F "tokens=1* usebackq delims=:" %%a in ("qgrepout") do set /a WirelessLine=%%a+1&goto:Locate
:Locate
FOR /F "tokens=1* usebackq skip=%WirelessLine% delims=: " %%z in ("devconout") do set WirelessHID="%%z"&goto:Shutdown
:Shutdown
devcon %toggle% %WirelessHID%&echo %WirelessHID%>"%toggle%"
del /q "qgrepout", "devconout"
-------------------------------------------------------------
이렇게도 가능 하네요
txt 파일을 만들어서 WiFi 가 연결되었는지
확인 다른 프로그램들은 필요가 없음
-------------------------------------------------------------
@echo off
type "enable" >nul&&set toggle=disable||set toggle=enable
del /q "disable", "enable">nul&echo.>"%toggle%
netsh interface set interface name="Wi-Fi" admin=%toggle%
--------------------------------------------------------------
또다른 방법 기본 프로그램 netsh 사용 txt 파일을
만들지 않고 실행하며. 부가 프로그램 필요 없음
-------------------------------------------------------------
@echo off&chcp 437
for /f "tokens=2 delims= " %%a in ('netsh interface show interface ^| findstr "Wi-Fi"') do (
if "%%a"=="Connected" (set toggle=disable) else set toggle=enable)
netsh interface set interface name="Wi-Fi" admin=%toggle%
-------------------------------------------------------------
pnputil 추가
zerojiddu 님이 windows 에서는 pnputil 로
해야 잘된다고 하시기에 해봤는데
pnputil 에서는 wifi 활성화 비활성화 구문을
찾기가 어려워 netsh 로 구문을 찾고
pnputil 로 활성화 비활성화를 해보았습니다.
-------------------------------------------------------------
@echo off&chcp 437
for /f "tokens=2 delims= " %%a in ('netsh interface show interface ^| findstr "Wi-Fi"') do set connect=%%a
if "%connect%" equ "Connected" (set toggle=Disable) else (set toggle=Enable)
pnputil /enum-devices /class net | findstr /n "^" > pnputil
for /f "delims=:" %%a in ('findstr /c:" Wireless" pnputil') do set /a line=%%a-1
for /f "tokens=3 delims=:" %%a in ('findstr /b "%line%:" pnputil') do for %%b in (%%a) do set "device=%%b"
pnputil /%toggle%-device "%device%"&del /q pnputil
--------------------------------------------------------------
pnputil 만으로 한다면 아래와 같습니다.
--------------------------------------------------------------
@echo off&chcp 437
pnputil /enum-devices /class net | findstr /n "^" > pnputil
for /f "delims=:" %%a in ('findstr /c:" Wireless" pnputil') do set /a line=%%a-1
for /f "tokens=3 delims=:" %%a in ('findstr /b "%line%:" pnputil') do for %%b in (%%a) do set "device=%%b"
pnputil /enum-interfaces /enabled | findstr /c:"%device%" >nul
if %errorlevel% equ 0 (set toggle=Disable) else (set toggle=Enable)
pnputil /%toggle%-device "%device%"&del /q pnputil
--------------------------------------------------------------
댓글 [10]
-
cungice 2023.06.20 13:01
-
쭈니당 2023.06.20 14:11
수고하셨습니다. -
zerojiddu 2023.06.20 19:18 수고하셨습니다.
devcon 으로 드라이버를 정지시키면서 하셨네요.
* 마.소는 devcon 보다 pnputil 사용을 권장합니다.
이렇게 할수도 있습니다.
추가 .exe 전혀 필요없고
설정창 와이파이 버튼을 스크립트로 끄고 켜면 더 안전하고 간단합니다.
오토핫키처럼 단순히 SendKeys() 키보드 명령으로 하는게 아니라,
윈도우 API를 불러와서 작동되게 했습니다.
. .\Wifi-Button-OnOff.ps1 -status on
. .\Wifi-Button-OnOff.ps1 -status off
-
슈머슈마 2023.06.20 22:09
감사합니다. 잘 활용 하겠습니다. pnputil 이라는게 있는줄은 몰랐네요 드라이버 관련 도구 잊줄 알았는데 어떻게 사용하나요?
드라이버를 비활성화 시키는 건가요? -
zerojiddu 2023.06.20 22:22 pnputil 검색만 하셔도 잘 나와요.
님 스크립트에 devcon.exe 대신 원래 윈도우에 있는
pnputil 로 똑같이 드라이버 비활성화 돼요.
-
슈머슈마 2023.06.20 23:12
집에가서 해봐야겠네요 -
슈머슈마 2023.06.27 22:40
pnputil 이정도 면 괜찮을까요?
@echo off&chcp 437
for /f "tokens=2 delims= " %%a in ('netsh interface show interface ^| findstr "Wi-Fi"') do set connect=%%a
if "%connect%" equ "Connected" (set toggle=Disable) else (set toggle=Enable)
pnputil /enum-devices /class net | findstr /n "^" > pnputil
for /f "delims=:" %%a in ('findstr /c:" Wireless" pnputil') do set /a line=%%a-1
for /f "tokens=3 delims=:" %%a in ('findstr /b "%line%:" pnputil') do for %%b in (%%a) do set "device=%%b"
pnputil /%toggle%-device "%device%"&del /q pnputil
-
zerojiddu 2023.06.28 17:39 꺼졌다 켜졌다 잘 되네요.
근데 전 배치를 분석할 수준은 안되요.
배치를 공부하진 않아서요. 대충 훑어보는 정도입니다.
수고하셨습니다.
-
슈머슈마 2023.06.20 23:18
https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/pnputil-examples
이곳에 자세하게 설명이 되어 있네요 감사합니다. -
馬井理 2023.06.22 08:47
수고하셨습니다
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 강좌 작성간 참고해주세요 | gooddew | - | - | - |
4350 | 소프트웨어| Microsoft Edge IE모드 구성하기 [10] | 무월 | 1962 | 22 | 08-26 |
4349 | 윈 도 우| [3탄] PE빌드를 위한 누적 업데이트 통합 (Winre.wim + ins... [14] | 무월 | 1371 | 26 | 08-25 |
4348 | 윈 도 우| 텍스트 파일 하위 폴더 파일 포함 병합하기! [11] | 무월 | 868 | 27 | 08-23 |
4347 | 윈 도 우| [실사] 윈도우 7 32비트 VHD 설치 방법! [11] | 무월 | 973 | 19 | 08-23 |
4346 | 하드웨어| [팁] 프린터 상태 정보 오류 안뜨게 하는 법 [2] | asklee | 1165 | 4 | 08-23 |
4345 | 윈 도 우| winpe에서 startis[all]back를 이용한 탐색기 색 변경 [14] | sunshine | 685 | 14 | 08-23 |
4344 | 윈 도 우| [2탄] install.wim 누적 업데이트 + 드라이버 통합 하기 (D... [9] | 무월 | 1555 | 28 | 08-21 |
4343 | 윈 도 우| [1탄] install.wim 누적 업데이트 통합 하기 [26] | 무월 | 2027 | 45 | 08-19 |
4342 | 모 바 일| AirPrint 설정 및 호환 프린터 목록 [1] | asklee | 811 | 3 | 08-18 |
4341 | 윈 도 우| Windows Defender 방화벽 인/아웃바운드 허용/차단 추가 [20] | 무월 | 2210 | 35 | 08-17 |
4340 | 소프트웨어| 중국어 하드 코딩 한글화 강좌 [8] | 줄리아니 | 1131 | 20 | 08-16 |
4339 | 소프트웨어| 중국어 프로그램 한글화 팁 [8] | 줄리아니 | 1302 | 16 | 08-14 |
4338 | 소프트웨어| LaunchBar boot.wim 적용 방법 [12] | 무월 | 1933 | 38 | 08-13 |
4337 | 소프트웨어| (추가3) 배치파일 추가기능 extd.exe 사용 팁 [7] | 지후빠 | 1020 | 24 | 08-13 |
4336 | 소프트웨어| 중국어 프로그램 한글화 팁 [11] | 줄리아니 | 1449 | 20 | 08-10 |
4335 | 소프트웨어| ESD 다중 이미지 단일 WIM 이미지 추출 방법! [12] | 무월 | 1160 | 30 | 08-09 |
4334 | 소프트웨어| 크롬 하단 다운로드창 활성화 [11] | 무월 | 2900 | 46 | 08-03 |
4333 | 소프트웨어| wim boot 관련 배치 파일 몇 가지 팁 [19] | 지후빠 | 1539 | 29 | 08-03 |
4332 | 기 타| 포토샵 많이 좋아졌네요!! [3] | 집에서뒹굴 | 2833 | 5 | 08-02 |
4331 | 모 바 일| [Tip] 인천공항 스마트패스 - 얼굴 인식으로 출국장 통과 앱 [5] | asklee | 1843 | 9 | 07-28 |
수고 많으셨습니다. 감사합니다.