기 타 레마클로님 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 | - | - | - |
4396 | 윈 도 우| Windows11 트레이 아이콘 내맘대로... [9] | 메인보드 | 4090 | 15 | 01-07 |
4395 | 기 타| 파워쉘로 WOL 수행 [3] | JR.오펜하이 | 1611 | 9 | 01-06 |
4394 | 윈 도 우| 무인응답파일(autounattend.xml) 쉽게 만들기 [30] | 네오이즘 | 4807 | 63 | 12-31 |
4393 | 기 타| 크롬, 파이어폭스 사용자를 위한 웹 자막은 이런것 | 모네곰 | 1513 | 1 | 12-31 |
4392 | 윈 도 우| Windows 11 설치 할 때 MS계정 로그인 스킵 [13] | Corns7 | 4321 | 10 | 12-30 |
4391 | 기 타| 모든 영상을 순간으로 MP4 확장자로 변환. [16] | 모네곰 | 2872 | 28 | 12-30 |
4390 | 소프트웨어| PE 환경에서 AOMEI Backupper 구동을 위한 파일, 레지스트... [11] | 무월 | 1472 | 22 | 12-27 |
4389 | 소프트웨어| pureBasic - WIM 정보 v0993 - 내부 파일 추가 삭제 내보내... [41] | 입니다 | 9690 | 162 | 12-22 |
4388 | 소프트웨어| pureBasic - IXMLDOMDocument [6] | 입니다 | 1418 | 27 | 12-16 |
4387 | 기 타| WSA + ReVanced Extended 조합 | 체리마키아 | 2120 | 13 | 12-09 |
4386 | 기 타| 희안한 유튭광고 제거 경험 공유 [3] | 트레져sn | 4179 | 6 | 12-09 |
4385 | 소프트웨어| pureBasic - FMIFS FormatEX 0.1.2 [6] | 입니다 | 1100 | 24 | 12-08 |
4384 | 기 타| [팁] 유튜브 광고 차단 [14] | 천경지위 | 8669 | 29 | 12-03 |
4383 | 윈 도 우| sources 폴더 교체시 드라이버 로드 오류 참고 [14] | 무월 | 1489 | 31 | 12-02 |
4382 | 소프트웨어| pureBasic 소스 - 실행 목록 및 화면 캡처 v0.2 [7] | 입니다 | 1114 | 29 | 12-01 |
4381 | 기 타| 짜증나는 유튭 광고 개인설정과 구글설정 [10] | 트레져sn | 4214 | 15 | 11-27 |
4380 | 소프트웨어| 한글2024 로고 교체 / 자동 설치 옵션 [54] | 무월 | 15266 | 110 | 11-25 |
4379 | 소프트웨어| pureBasic 전원 단추 0357 - 재시작 후 펌웨어 설정 [14] | 입니다 | 1806 | 43 | 11-24 |
4378 | 소프트웨어| PCem Win98 인터넷 개통하기. [6] | 메인보드 | 1528 | 6 | 11-23 |
4377 | 기 타| macOS 소노마 14.1.1 다운로드 및 부팅 ISO 제작 후 VMWare... [8] | 무월 | 2182 | 16 | 11-22 |
수고 많으셨습니다. 감사합니다.