소프트웨어 배치파일 오류의 원인을 찾고자합니다.(고수님에게..)
2017.12.23 13:16
관리자 권한으로 실행해야됩니다.
여기까지 99% 성공인것같습니다. suk님의 도움이 컸네요. 감사합니다.
계속 들여다보다가 눈도 아프고 시간은 시간대로 보낼꺼같고해서 여기 올립니다.
잘 작동했는데 갑자기 오류가 생기더군요.
아무리 들여다 봐도 모르겠네요.
고정 IP 쓰시는 분들은 이상없이 잘될겁니다.
만든 용도가 고정 IP 환경이기 때문입니다.
DHCP 환경에서도 가능합니다. 맨 나중에 메뉴에서 선택가능합니다.
테스트는 Windows 환경과 PE 환경입니다. (Windows 10 x64 Windows10 x86PE)
DHCP 환경에서의 테스트시 생긴문제입니다.
오류 위치
:No_ip
cls
if "%DHCP%"=="1" goto No_reg
echo.
echo * 현재 위치: HKLM\%load%\%Reg_Location%\Services\Tcpip\Parameters\Interfaces
echo _____________________________________________________________________________________
echo.
echo 찾으시는 IP 주소가 없습니다.
echo.
echo 찾는 레지스트리의 위치값이 다를 수 있습니다.
echo _____________________________________________________________________________________
echo.
echo 아무키나 누르시면 다른 위치값의 레지스트리를 검색합니다.
echo _____________________________________________________________________________________
pause >nul
echo %Reg_Location%
pause
if /i "%Reg_Location%"=="ControlSet001" set Reg_Location=CurrentControlSet& goto Find_ip_run
if /i "%Reg_Location%"=="CurrentControlSet" set Reg_Location=ControlSet002& goto Find_ip_run 요부분에서 다음 명령으로 안넘어감
if /i "%Reg_Location%"=="ControlSet002" goto No_reg
아무키나 누르면 다음으로 넘어가야하는데 처음은 넘어가고 그 다음 부터는 반복입니다.
원인을 찾기 위해 아래 두줄을 넣었으나...
echo %Reg_Location%
pause
처음부터 실행이 안되고 건너 뛰는것같습니다. echo 메세지도 pause 메세지도 안보입니다.
이 명령을 Find_ip_run 레이블 행에 넣어도 같습니다.
아~~미치것네요.
지금 글쓰는중에 캪쳐할려고 실행했다가 for문 문제가 생기네요.
그런데 맨위쪽 for문을 잘라내고 저장했다가 고대로 붙여넣고 저장하니 또 잘됩니다.
분명 원인이 있을텐데...의심되는 부분은 맨 위쪽 for 문이 아닐까요?
요 문제전에 for 문에서 call :Find_ip_run)을 찾을 수 없다는 메시지가 반복되다가 맨 위쪽 for문을 잘라내고 고대로 붙여넣고 저장하니 또 되었거든요.
드라이브 찾는 for 문이 두개인데..맨 위쪽이 문제일까요? ( ) 괄호부분일까요?
요문제도 사실 어제 미치는줄..ㅋㅋ
전 에디터 문제라 생각했거든요. 늘 쓰던 에디터말고 메모장에서 잘라내고 붙이니까 되더라구요.
근데 오늘은 그것도 아닌같습니다. 에디터 3개를 바꿔도 똑 같았거든요. PC도 다른데서 테스트했습니다.
ps. 꼭 원인을 찾아 분석을 하고 싶습니다.
댓글 [3]
-
suk 2017.12.23 15:35
-
하이하루 2017.12.23 16:47
헉..감사합니다.
if 문 안에 for 문이 들어갈 수 있네요. 요건 전혀 생각도 못해봤습니다.
작동이 안되던가요. 마지막 메뉴까지는 나와야 정상인데.
저도 작동이 안되어 원인을 못찾다가 마지막 테스트에서 작동되었거든요.
마지막 메뉴에서 레지스트리 위치 바로가기는 goreg.exe 커맨드용 파일이 있어야 작동합니다.
정상적이라면 DHCP IP 주소 찾는 부분은 정상 작동 될겁니다.
에휴...
전 배치파일이 더 어렵습니다. 옛날 도스 시절엔 간단했는데..
머리식힐겸 드라마 한편보고 잠시 생각해보니..제 PC 환경에 무슨 문제가 있지 않나라는 생각이 문득드네요.
주신 자료 더 연구해보고 원인을 찾아 보겠습니다.
CurrentControlSet 은 링크로 잡히는 부분으로 알고 있습니다.
ControlSet001을 제외하고 나머지는 ControlSet002 ControlSet003... 등이 생기는 이유는
OS를 이미지로 다른 PC에 밀고하면서 네트워크 아답터가 달라지면서 기존의 IP 정보가 그대로 남는 경우가 아닌가 생각됩니다.
실컴에서는 ControlSet001에 고정이든 자동이든 모든 정보가 들어있고 CurrentControlSet은 여기에 대한 링크이고
나머지는 과거의 흔적이라 보아집니다. CurrentControlSet은 빼도 될것같네요.
배치파일 짜면서 이런 과거의 흔적들이 발목을 잡더군요.
어떤값을 맞게줘도 과거의 흔적에서 정보를 찾게되면 오류가 생깁니다.
처음엔 배치파일에서 경우의 수를 따져 복잡하게 만들었는데...여러 환경의 PC에서 테스트하다 이런 오류를 발견하였습니다.
suk님 처럼 목표만 달성하게끔 좀더 간략화 해 보겠습니다.
-
DarknessAngel 2017.12.23 23:55
일부 윈도용 명령이 늘어났을뿐 포맷측면에선 거의 변한것 없습니다
윈도 전용으로 짜실려면 파워셀용으로 짜야죠
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
81199 | 기 타| 엑셀 사용시 [2] | 대륙의별 | 480 | 02-10 |
81198 | 소프트웨어| 구해봅니다.. [1] | leo63 | 480 | 02-16 |
81197 | 윈 도 우| 윈도우7입니다 롤업업데이트만 안되는이유를모르겠습니다... [1] | SEVEN | 480 | 07-22 |
81196 | 윈 도 우| Win7 설치 가능한 칩셋 보드 답변 부탁 드려봅니다. [10] | 00go | 480 | 08-01 |
81195 | 윈 도 우| 윈도우10은 강제로 업그레이드 계속되는건가요? [1] | 한밤의기적 | 480 | 08-15 |
81194 | 윈 도 우| Win10 폐쇄망에서 운영중이신분들 IE느려진 현상 없으신가요? [1] | bloodra | 480 | 08-16 |
81193 | 하드웨어| CPU-Z [3] | 현오공오 | 480 | 02-05 |
81192 | 윈 도 우| 무봉인 윈도우10 설치시 EasyDrv7 실행되게 하는방법이 알... [3] | 럭키데이 | 480 | 02-29 |
81191 | 소프트웨어| usb 운영체제 2개 설치하는 법 [4] | 우주인 | 480 | 09-11 |
81190 | 하드웨어| 공유기 두 대 연결시 [2] | cosmodrome | 480 | 12-11 |
81189 | 서버 / IT| 쿠키 동의 안하고 진행하는 법? [3] | ton3d | 480 | 03-01 |
81188 | 윈 도 우| 부팅관련 (사진첨부) 도와주세요 ㅜㅜ [20] | wfguy | 480 | 05-17 |
81187 | 기 타| 탄노이 스피커 구매처 (문의) [9] | 커피타임 | 480 | 05-22 |
81186 | 소프트웨어| 크롬 96버전후 "설정"메뉴가 또 이상해졌습니다. | 건조한치는 | 480 | 11-16 |
81185 | 소프트웨어| 한글hwp에서 PDF로 내보내기 테스트 좀 해주십시오. [3] | nadaeri | 480 | 10-20 |
81184 | 윈 도 우| 컴 부팅시 파워스치 누려면 컴에불이 들어왔다가 한번꺼졌... [7] | ghwp | 480 | 04-10 |
81183 | 윈 도 우| 팝업창 혹은 사이트 링크 자동으로 열리는 것 막는 방법 [5] | greace | 480 | 12-05 |
81182 | 하드웨어| 그래픽카드 부품 수리 문의 [7] | Lepton2 | 480 | 03-09 |
81181 | 소프트웨어| PE 에서 트루이미지 파일을 마운트하는 방법이 있을까요? [2] | heykevin | 480 | 12-26 |
81180 | 소프트웨어| 웹사이트 전체를 다운 받는 방법이 있을까요? [2] | uiwsoi | 480 | 01-15 |
제가 만든 bat 파일은 간단한 편입니다
전에도 그렇지만 올리신 bat 파일은 봐도 알 수가 없네요. 이전부터 실행하면 작동하지 않더군요
이번에 올리신 bat 파일 내용 보면 ControlSet001 이외 다른 레지스트리도 검색하시는 듯 하여 ControlSet 들어가는 레지스트리는 전부 찾게 했습니다
그리고 모든 드라이브에 윈도를 전부 검색하여 한꺼번에 보여줍니다
컴퓨터에 설치된 윈도의 IP 확인하기2.bat
참고로, CurrentControlSet 는 부팅한 윈도에만 나타납니다. pe나 다른 윈도에서 확인하시면 나오지 않는 것은 정상입니다
-------
"못 찾음" 이라고 나오는 경우, 레지스트리가 있는데 못 찾았다기 보다는 해당 레지스트리가 없는 경우입니다.
bat 파일 만들기 전에 이미 레지스트리 직접 찾아봤습니다