기 타 레마클로님 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 | - | - | - |
4323 | 윈 도 우| RunOnce 레지스트리 키(간단 메뉴얼) [3] | 過客 | 1041 | 14 | 07-16 |
4322 | 소프트웨어| GPT 파티션 삭제 및 재구성 / EASEUS Partition Master 16 [9] | 무월 | 1645 | 30 | 07-14 |
4321 | 소프트웨어| iVentoy 만능윈도우(WIM) 자동 설치 [21] | 무월 | 4633 | 68 | 07-08 |
4320 | 소프트웨어| iVentoy PXE 부팅 네트워크 OS 설치 [26] | 무월 | 1903 | 40 | 07-02 |
4319 | 기 타| 배치 파일 %~1 [13] | bangul | 1715 | 14 | 07-02 |
4318 | 윈 도 우| Microsoft Edge 브라우저 제거 [23] | 무월 | 2623 | 36 | 06-30 |
4317 | 모 바 일| 동영상을 원 속에 넣어 합성하는 방법 Mobile PowerDirect... [1] | 무림거사 | 1086 | 2 | 06-29 |
4316 | 윈 도 우| 윈도우11,10 MS계정 없이 로컬 계정으로 설치하기 [31] | 무월 | 4105 | 33 | 06-23 |
4315 | 윈 도 우| 윈도 에러 생길때, 모든 이벤트 로그 한꺼번에 보기 [10] |
|
1357 | 10 | 06-23 |
4314 | 윈 도 우| OneDrive 설치 방지, Microsft Edge 바로가기 생성 방지 [3] | 무월 | 1154 | 11 | 06-23 |
4313 | 윈 도 우| 윈도우10 & 11 작업표시줄 시계에 요일 나오게 하는 방법! [28] | 무월 | 2585 | 33 | 06-21 |
4312 | 윈 도 우| 한글 자음 모음 분리 현상 해결 방법 [7] | 무월 | 1505 | 14 | 06-21 |
» | 기 타| 레마클로님 wifi on/off 스크립트 (수정) pnputil 추가 [10] | 슈머슈마 | 956 | 7 | 06-20 |
4310 | 윈 도 우| 윈도우11 네트워크 인터넷 연결 없이 설치하기 [6] | 무월 | 2622 | 16 | 06-20 |
4309 | 윈 도 우| 파워쉘로 움직이는 .gif 바로 만들기 [6] |
|
1083 | 10 | 06-18 |
4308 | 기 타| Windows 10 pe 디스플레이 레지스트리 [4] | bangul | 1625 | 16 | 06-13 |
4307 | 윈 도 우| Windows 11의 Microsoft 스토어에서 앱 다운로드 중지를 해... | VᴇɴᴜꜱGɪ | 1166 | 4 | 06-13 |
4306 | 윈 도 우| Internet Explorer 11 강제 실행 [15] | 무월 | 2879 | 22 | 06-10 |
4305 | 윈 도 우| Windows 11에서 그룹화를 비활성화하는 방법 | VᴇɴᴜꜱGɪ | 799 | 2 | 06-10 |
4304 | 윈 도 우| NTP 서버&클라이언트 설정 하기 (윈도우 시간 동기화) [5] | 무월 | 1247 | 7 | 06-03 |
수고 많으셨습니다. 감사합니다.