http://ezious.tistory.com/1 에서 포스팅했던 ezPath 소스를 이용한 프로그램입니다.
바트 pe로 부팅한후에 이 배치파일을 실행시키면 하드디스크의 레지스트리를 불러와서
IP ADDRESS 를 출력해주는 프로그램입니다.
소스 공개합니당 ㅋ
@echo off
rem ezIPSearch version 1.3
rem made by ezious@gmail.com
rem 기존 pc의 레지스트리 정보를 불러와서 기존의 IP를 출력함
rem 기존 pc 레지스트리 위치 찾기 ==================================================
if exist c:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=c
if exist d:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=d
if exist e:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=e
if exist f:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=f
if exist g:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=g
if exist h:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=h
if exist i:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=i
if exist j:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=j
if exist k:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=k
if exist l:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=l
if exist m:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=m
if exist n:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=n
if exist o:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=o
if exist p:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=p
if exist q:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=q
if exist r:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=r
if exist s:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=s
if exist t:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=t
if exist u:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=u
if exist v:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=v
if exist w:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=w
if exist x:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=x
if exist y:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=y
if exist z:\WINDOWS\SYSTEM32\CONFIG\system set oldpath=z
rem 찾은 레지스트리를 하이브로드함==============================================
reg load HKLM\TEMPHIVE %oldpath%:\WINDOWS\SYSTEM32\CONFIG\system
rem 유니코드 텍스트 형식으로 출력===============================================
REG EXPORT HKLM\TEMPHIVE\ControlSet001\Services %temp%\result.txt
rem 유니코드 텍스트를 일반텍스트로 변환=========================================
type %temp%\result.txt > %temp%\result2.txt
rem 변환한 레지스트리 텍스트에서 Tcpip\Parameters 를 포함한 줄만 추출 ===========
sed -n s/\\Parameters\\Tcpip/\\Parameters\\Tcpip/gp %temp%\result2.txt > %temp%\result3.txt
sed -n s/\[//gp %temp%\result3.txt > %temp%\result4.txt
sed -n s/\]//gp %temp%\result4.txt > %temp%\result5.txt
rem 정리된 텍스트파일 한줄씩 레지스트리 쿼리 함 =================================
for /f "delims=" %%i in (%temp%\result5.txt) do reg query %%i /v IPAddress >> %temp%\result6.txt
rem 보기 좋게 정리 ==============================================================
sed -n s/IPAddress/IPAddress/gp %temp%\result6.txt > %temp%\result7.txt
sed -n s/\\0//gp %temp%\result7.txt > %temp%\result8.txt
rem 결과화면 출력 ===============================================================
cls
@echo.
@echo ezIPSearch v1.3
@echo.
@echo 찾은 IP Address 값 =======================================
@echo.
type %temp%\result8.txt
@echo.
@echo.
@echo made by ezious@gmail.com
del /q %temp%\*.txt
reg unload HKLM\TEMPHIVE
set oldpath=
pause
역시 제가 실력이 모자라서 도스 명령어만 가지고는 못하겠더군요.
그래서 sed.exe 를 사용했습니다.
Unix 에서 사용할 수 있는 텍스트 편집툴인데 윈도우용이 있더군요.
위파일 두개는 같은곳에 존재하여야합니다.
소스에 대한 설명은 주석을 달아놓았으니 알기쉬우실듯 합니다. ^^
아래는 구동화면 입니다.
'Computing > Batch File Research' 카테고리의 다른 글
배치(Batch)파일을 이용하여 특정드라이브의 폴더와 파일을 찾아서 바탕화면 바로가기에 등록하는 방법 (0) | 2010.01.28 |
---|