PC기존 고정 IP 찾기
*자동 실행 파일은 밑에
@echo off
color 1f
title 설치된 윈도의 IP 확인하기
setlocal enabledelayedexpansion
echo 관리자권한 확인용 >%windir%\admin.confirm || (
echo Set UAC = CreateObject^("Shell.Application"^) > "%tmp%\admin.vbs"
echo UAC.ShellExecute "%~0", "", "", "runas", 1 >> "%tmp%\admin.vbs"
"%tmp%\admin.vbs" & del "%tmp%\admin.vbs" & exit)
del %windir%\admin.confirm
set build=0
for /f "tokens=3 delims=.]" %%a in ('ver') do set build=%%a
if %build% LSS 7600 (echo. & echo. & echo. ===== Windows 7 부터 지원합니다 ===== & echo. & pause & exit)
if /i "%systemdrive%"=="X:" (set W=W) else (set W=W X)
set a=0
for %%a in (C D E F G H I J K L M N O P Q R S T U V %W% Y Z) do if exist %%a:\Windows\System32\Config\System (set /a a+=1& set drv=%%a& call :run)
if %a%==0 (
echo.
echo. ========================================================
echo. 컴퓨터에서 Windows 를 찾지 못 했습니다
echo. ========================================================
echo.
pause
exit
)
echo.
echo. ========================================================
echo 모든 작업을 완료했습니다
echo. ========================================================
echo.
pause
exit
:run
if /i "%systemdrive%"=="%drv%:" set load=System
if /i not "%systemdrive%"=="%drv%:" set load=load& reg load HKLM\load "%drv%:\Windows\System32\Config\System" 1>nul 2>nul
set b=0
for /f "tokens=3 delims=\" %%a in ('reg query HKLM\%load% /f ControlSet /k') do (
set ControlSet=%%a
for /f "tokens=8 delims=\" %%b in ('reg query HKLM\%load%\%%a\Services\Tcpip\Parameters\Interfaces /s /f { /k') do (
set c=0
set IPAddress=못 찾음
set SubnetMask=못 찾음
set DefaultGateway=못 찾음
set NameServer1=못 찾음
set NameServer2=못 찾음
set Domain=못 찾음
for %%c in (IPAddress SubnetMask DefaultGateway NameServer Domain) do (
if /i %%c==NameServer (for /f "tokens=3-4" %%d in ('reg query HKLM\%load%\%%a\Services\Tcpip\Parameters\Interfaces\%%b /v %%c 2^>nul') do set /a c+=1& set NameServer1=%%d& set NameServer2=%%e
) else (for /f "tokens=3" %%d in ('reg query HKLM\%load%\%%a\Services\Tcpip\Parameters\Interfaces\%%b /v %%c 2^>nul') do set /a c+=1& set %%c=%%d)
)
if !c! geq 1 set /a b+=1& call :msg
)
)
if /i not "%systemdrive%"=="%drv%:" reg unload HKLM\load 1>nul 2>nul
if %b%==0 (
echo.
echo. =====================================================================
echo. %drv%: 윈도의 레지스트리
echo. =====================================================================
echo. HKLM\System\*ControlSet*\Services\Tcpip\Parameters\Interfaces
echo. =====================================================================
echo. 하위 키에서 해당 레지스트리를 찾지 못 했습니다
echo. =====================================================================
echo.
)
exit /b
:msg
echo.
echo. =====================================================================
echo. %drv%:Windows\System32\Config\SYSTEM Registry 추출 결과 [%b%]
echo. =====================================================================
echo. HKLM\System\%ControlSet%\Services\Tcpip\Parameters\Interfaces
echo. =====================================================================
echo.
echo IP 주소: %IPAddress%
echo.
echo 서브넷마스크: %SubnetMask%
echo.
echo 게이트웨이: %DefaultGateway%
echo.
echo DNS 기본주소: %NameServer1%
echo.
echo 보조주소: %NameServer2%
echo.
echo 인터넷 회사: %Domain%
echo.
exit /b
-------------------
2017-12-21 23:11
2번째 파일: NameServer 와 Domain 순서 일치 시킴 // 레지스트리에서 못 찾았을 경우를 생각하여 기본값을 0 대신에 못 찾음으로 함 // NameServer의 기본값을 NameServer1과 NameServer2로 2개로 수정함 [처음에 NameServer 으로 1개만 했는데 뒤에 수정 잊음]
2017-12-23 15:14
2번째 파일: 계속 - 모든 드라이브에 존재하는 윈도의 모든 레지스트리 한꺼번에 확인함
