스크린 샷

제목 : 디스크 선택 실수 방지

히이이잌

요즘 관련 게시글이 자주 보여서 수정해보았습니다. 

참고용으로 사용해보세요.

 

19H2_2XXXP PE에서만 정상 동작합니다.

 

_PE_CONFIG.ini를 _PE_CONFIG폴더에,

DP.cmd를 Program Files\DP 폴더에 넣으세요.

 

 

dp.zip

 

 

 

Windows 10 x64-2022-01-29-23-36-23.png

_PE_CONFIG의 하단에 관련 설정을 추가했습니다.

대소문자는 구별하지 않습니다.

 

Windows 10 x64-2022-01-29-23-36-29.png

두 조건중 하나라도 일치하는 경우 경고창과 함께 이전으로 돌아갑니다.

 

 

 

 

 

이 밑으로는 명령 원리이니 관심있으신분만 읽어보세요.

 

 

특정 볼륨을 포함하였을 때...

 

Bootice를 활용, BOOTICE.exe /diskinfo /find /file=%temp%\Bootice_diskinfo.cmd 명령으로 배치파일을 생성한 뒤

call "%temp%\Bootice_diskinfo.cmd" 명령으로 불러옵니다.

 

bdi.jpg

 

위에서 저장한 변수를 for명령을 통해 뽑아냅니다.

 

배치파일에서 //는 주석기호로 사용할 수 없습니다. 그대로 복사하지 말고 참고만 하세요.

 

for %%i in (!DRIVE%%BLETTER!) do (

for /f "tokens=1,* delims=:" %%y in ('vol %%i') do (

set drvletExCol=%%i // 편의상 드라이브 문자 변수에서 콜론(:)을 빼는 명령이라 필수는 아닙니다.

set drvletExCol=!drvletExCol:^:=!

IF "%%y" EQU " !drvletExCol! 드라이브의 볼륨" set "VolName=!VolName! %%i%%z" // 하나의 변수에 모읍니다

)

 

echo !VolName!|find /i "%보호할 볼륨 이름%"&&[있을 경우 실행할 명령]

 

 

 

 

특정 경로를 포함하였을 때...

for %%i in (!DRIVE%%BLETTER!) do IF EXIST "%%i\%검색할 경로%" [있을 경우 수행할 명령]

 

 

댓글 [16]

토리™

2022.01.29
23:45:40

감사합니다.

새해 복 많이 받으세요!

cungice

2022.01.29
23:57:55

새해 복 많이 받으십시요. 감사합니다.

상발이

2022.01.29
23:59:23

수고하셨습니다.

메아리

2022.01.30
00:02:16

감사합니다..

새해 복 많이 받으세요.^^

신은

2022.01.30
00:05:05

 

새해 복 많이 받으십시오. 꾸벅 !!!!!

ehdwk

2022.01.30
00:23:33
수고하셨습니다.

천사케이

2022.01.30
00:33:48

감사합니다 새해복많이 받으세요

붉바리

2022.01.30
01:04:07

감사합니다.

호롱불

2022.01.30
02:42:14

항상 좋은 자료들~감사합니다^^

즐거운 설 명절 되세요~^^

REFS

2022.01.30
07:48:06

감사합니다

명절연휴 잘보내세요..^^

꿈속이라도

2022.01.30
08:16:16

업뎃 감사 드립니다...

새해 복 많이 받으시고  건강기원 합니다 ...

이어도

2022.01.30
08:38:03

보기만해도 감탄이....

새해 복 많이 받으시고 행복한 명절 보내시기 바랍니다^^

2022.01.30
11:09:34

수고하셨습니다.

Compuser

2022.01.30
13:07:10

수고하셨습니다. 히이이잌님^^

만일의 경우에 대한 예방 조치 감사합니다.

새해 복 많이 받으시고 항상 건강하시길 바랍니다.

미니75

2022.02.03
23:36:24

항상 유용한 자료 배풀어 주심에 감사드립니다. 히이이잌님!!

 

예전에 윈도우 설치단계 줄이기 소스 실무에서 잘활용하고 있습니다.

해당 스크립트에 위에 알려주신 부분 적용하고 싶은데 봐도봐도 응용이 안되네요 ㅜㅜ

선택한 디스크에 AAA 라는 폴더가 있으면(실수로 디스크를 잘못선택한경우) 빠져나가게 하고 싶은 경우입니다.

아래처럼 적용해 보았는데 GOTO 건너뛰기가 안되고 순서대로 처리되네요ㅜ

TEMP 폴더에 Bootice_diskinfo.cmd 생성 까지는 확인했습니다. 

 

@echo off

pushd %~dp0

title Windows 설치 (MBR)

color 07

mode con cols=100 lines=30

Rd "%WinDir%\system32\test_permissions" >NUL 2>NUL

Md "%WinDir%\System32\test_permissions" 2>NUL||(Echo 관리자 권한으로 실행해주세요!&&Pause >nul&&Exit)

Rd "%WinDir%\System32\test_permissions" 2>NUL

SETLOCAL ENABLEDELAYEDEXPANSION

 

:ST

color 07

taskkill /IM mmc.exe 

taskkill /IM notepad.exe

cls

echo.

echo.

BOOTICE.exe /diskinfo /find /file=%temp%\Bootice_diskinfo.cmd 

start diskmgmt.msc

echo.

echo 윈도우를 설치할 디스크를 선택하세요

echo 디스크 관리자에서 표시되는 번호를 적으면 됩니다.

 

set /p disk=(디스크 번호 입력) :

 

for %%i in (!DRIVE%%BLETTER!) do IF EXIST "%%i\AAA" goto QUIT

 

echo 파티션작업을 진행합니다.

pause

 

:QUIT

echo 해당경로에 사용자 지정 폴더 있어서 취소합니다.

pause

 
List of Articles
[공지] 스크린샷 업로드 유의사항 3
XE1.11.6 Layout1.4.8