Windows에서 Wi-Fi 신호 세기 실시간 측정 및 로그 저장하는 방법(배치파일 포함)
무선 네트워크의 품질이 중요한 환경에서는 Wi-Fi 신호 세기(Strength)를 수시로 체크하고, 장비를 이동할 때 로밍 문제나 간헐적인 연결 끊김의 원인을 분석하고 싶은 경우가 많습니다.
이럴 때 복잡한 툴 없이 Windows 기본 명령어(netsh)와 간단한 배치파일만으로 SSID, 신호 강도, RSSI, 채널 값을 주기적으로 측정하고, 자동으로 로그 파일로 저장하는 방법을 소개합니다.
단, Windows 버전이나 언어 설정에 따라 신호 값이 안찍히거나 오류가 날 수 있습니다. 이 글에서는 해당 문제까지 해결하는 방법을 다룹니다.
사용 환경
- 운영 체제 : Windows 10 / Windows 11 (Home, Pro, Enterprise, LTSC 포함), 영문 및 한글 모두 지원
- 명령어 : netsh wlan show interfaces
- 측정 항목 : 일시, SSID, Signal, RSSI, Channel
- 파일 출력 : 측정 결과는 Wifi_20250620.txt 와 같은 형식으로 날짜별 저장됨
배치파일
아래는 Wi-Fi 신호 상태를 3초 간격으로 실시간 측정하고,
날짜/시간/SSID/Signal/RSSI/Channel 정보를 파일과 콘솔 화면에 모두 출력하는 배치파일입니다.
@echo off
setlocal enabledelayedexpansion
:: 날짜 형식: YYYYMMDD
for /f "tokens=2 delims==" %%i in ('"wmic os get localdatetime /value | findstr ="') do (
set datetime=%%i
)
set DATESTR=!datetime:~0,4!!datetime:~4,2!!datetime:~6,2!
set LOGFILE=Wifi_!DATESTR!.txt
echo === Wi-Fi Monitoring Started === > %LOGFILE%
:LOOP
:: 현재 시간 (초 단위 포함)
for /f "tokens=1-2 delims=." %%a in ("%time%") do set TIMES=%%a
set DATESTAMP=%date% !TIMES!
:: 변수 초기화
set ssid=
set signal_raw=
set signal_num=
set channel=
set rssi=
:: netsh 결과 분석
for /f "tokens=1,* delims=:" %%a in ('netsh wlan show interfaces') do (
set "key=%%a"
set "value=%%b"
for /f "tokens=* delims=" %%x in ("!key!") do set "key=%%x"
for /f "tokens=* delims=" %%x in ("!value!") do set "value=%%x"
echo !key! | findstr /i /c:"SSID" >nul
if !errorlevel! neq 1 if not defined ssid set "ssid=!value!"
echo !key! | findstr /i /c:"Signal" /c:"신호" >nul
if !errorlevel! neq 1 set "signal_raw=!value!"
echo !key! | findstr /i /c:"Channel" /c:"채널" >nul
if !errorlevel! neq 1 set "channel=!value!"
)
if defined signal_raw set "signal_num=!signal_raw:%%=!"
if defined signal_num set /a rssi=!signal_num! * 5 / 10 - 100
:: 출력 포맷
if defined ssid (
set "output=!DATESTAMP! / SSID: !ssid! / Signal: !signal_num!%% / RSSI: !rssi! dBm / Channel: !channel!"
) else (
set "output=!DATESTAMP! / disconnected..."
)
echo !output!
echo !output! >> %LOGFILE%
timeout /t 3 >nul
goto :LOOP
결과 화면
연결이 되었을 때는 결과 값이 찍히고, 연결이 끊어졌을 때는 disconnected... 라고 표현됩니다.

RSSI 값은 어떻게 계산했을까?
netsh wlan show interfaces 명령어에서는 신호세기(Signal)을 % 단위로 표시해줍니다.
하지만 실제 Wi-fi 신호 강도를 표현할 때는 dBm 단위의 RSSI가 더 많이 사용됩니다.
그래서 다음과 같은 간단한 공식을 사용해 RSSI 값을 추정합니다.
RSSI = (신호 % 값) x 0.5 - 100
예를 들어 신호가 80% 라면
RSSI = 80 x 0.5 - 100 = -60 dBM
이 계산은 대략적인 변환이지만, 실무에 충분히 유용합니다.
인코딩 문제 및 해결 방법
SSID는 잘 찍히는데 신호, RSSI, 채널 값이 빈 값으로 나타남
PC에 따라 결과가 나오는 경우가 있고 나오지 않는 경우가 있음
해당원인은 netsh 명령의 출력이 시스템 언어 설정에 따라 다르게 됩니다. netsh 명령어로 나오는 결과에 '신호'라는 한글을 제대로 파싱하지 못해 생기는 문제 입니다.
위 배치 코드를 메모장에서 저장할 때 인코딩 옵션을 수정해서 저장하면 문제를 해결할 수 있습니다. ANSI 또는 UTF-8로 저장해서 해당 단말기에서 결과가 나오는 인코딩 방법을 사용하시면 됩니다.

포터블 장비나 노트북을 들고 이동하며 Wi-fi 환경을 점검해야 하는 상황, 혹은 특정 구역의 무선 신호 세기를 실시간으로 기록해야 하는 경우 이 배치파일 하나면 별도의 소프트웨어 없이도 충분합니다.
현장 무선 환경 진단, 로밍 테스트, 공유기 성능 분석 등 다양한 실무 상황에서 활용해 보세요.
아래 파일에는 ANSI, UTF-8 두 가지 버전의 배치파일이 있습니다.
댓글
이 글 공유하기
다른 글
-
Cisco ASDM 실행되지 않는 문제 해결, How to solve that Cisco ASDM does not start
Cisco ASDM 실행되지 않는 문제 해결, How to solve that Cisco ASDM does not start
2019.05.15 -
배치파일로 Ping 테스트 결과를 시간과 함께 저장하는 방법
배치파일로 Ping 테스트 결과를 시간과 함께 저장하는 방법
2017.08.25 -
애플 USB 이더넷(Apple USB Ethernet) 어댑터 드라이버 for 윈도우(Windows) 7/8/10 64bit
애플 USB 이더넷(Apple USB Ethernet) 어댑터 드라이버 for 윈도우(Windows) 7/8/10 64bit
2016.08.24 -
윈도우7 원격 데스크톱 연결 Windows7 Remote Desktop Connection, 암호없이 원격 데스크톱 연결
윈도우7 원격 데스크톱 연결 Windows7 Remote Desktop Connection, 암호없이 원격 데스크톱 연결
2015.02.17