강좌 / 팁

소프트웨어 배치 파일 for문에서 diskpart 실행

2024.09.01 11:50

sunshine 조회:675 추천:18

------------------------------------------------------------------------------------------------------

출처: http://bbs.c3.wuyou.net/forum.php?mod=viewthread&tid=423983

구글 번역:

1. diskpart는 파이프라인을 통해 cmd 명령으로 전달된 diskpart 명령을 받을 수 있지만 명령이 여러 개인 경우 제대로 작동하지 않습니다.

 

2. 일반적으로 여러 diskpart 명령 세트의 경우 /s 매개변수를 통해 스크립트를 호출하거나 다음과 같은 파이프라인을 통해 스크립트를 완료합니다.

 

/s의 장점은 일부 diskpart 명령에 오류를 무시할 수 있는 noerr 매개 변수가 있다는 것입니다. 하지만 단점은 스크립트 파일을 미리 생성한 후 호출해야 한다는 점입니다.

 

오늘 저는 for를 사용하여 일련의 지침을 diskpart에 성공적으로 전달하려고 했습니다. 또한 diskpart에 전달한 다음 실행 결과를 분석 및 처리를 위해 중첩할 정보 흐름으로 사용할 수도 있습니다. 그러나 중첩된 for에는 특정 문자를 표시하려면 작은따옴표와 ^가 필요합니다.

===========================================================

msn019.gif  DiskPart명령FOR에서실행.cmd

1. 하나의 for 문에서 diskpart 명령 1개는 잘 되지만 같이 2개 이상 실행하면 에러가 납니다.

그러나 위의 스크립트를 이용하면 여러개를 함께 실행할 수가 있습니다.

- 배치 파일을 관리자 권한으로 실행하면 됩니다.

 

2. 메세지를 삭제하고 라인 수를 아래처럼 줄여도 되는군요.

-----------------------------------------------------------------------------------

@echo off

setlocal ENABLEDELAYEDEXPANSION

set n=0

for /f "delims=" %%c in ('^(for %%r in ^("list disk" "list vol" "sele disk 0" "list disk" "detail disk"

                                  ^) do @^(echo %%~r^)^)^|diskpart

') do (if "%%c"=="DISKPART> " (set /a n+=1&echo.) else (if !n! geq 1 echo %%c))

set /a n-=1

pause

-----------------------------------------------------------------------------------

 

3. 메세지를 삭제하고 하나의 for문에서 실행하기

-----------------------------------------------------------------------------------

@echo off

setlocal ENABLEDELAYEDEXPANSION

set n=0

set "diskpart_cmd=echo list disk ^& echo list vol ^& echo sele disk 0 ^& echo list disk ^& echo detail disk"

for /f "delims=" %%c in ('^(!diskpart_cmd!^)^|diskpart

') do (if "%%c"=="DISKPART> " (set /a n+=1&echo.) else (if !n! geq 1 echo %%c))

set /a n-=1

pause

-----------------------------------------------------------------------------------

 

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
1030 소프트웨어| WinNTSetup - VHD(윈도우 설치) 활용 방법 [11] 무월 815 40 09-08
1029 소프트웨어| 레인미터와 HWiNFO 연동하기 [5] 수채화 457 20 09-08
1028 소프트웨어| 배치 파일 색상 팔레트 [11] 지후빠 944 30 09-01
» 소프트웨어| 배치 파일 for문에서 diskpart 실행 [6] sunshine 675 18 09-01
1026 소프트웨어| 배치파일 작은 팁 2가지 [15] sunshine 1593 34 08-26
1025 소프트웨어| pureBasic - GetPart v0014 디스크 파티션 정보 [15] 입니다 1719 49 08-14
1024 소프트웨어| OneDrive로 옮겨진 문서, 다운로드, 사진, 동영상 폴더 원... [3] Nic네임 1418 11 08-13
1023 소프트웨어| 가볍고 편리한 런처 LaunchOnFly 소개합니다 [6] 지금은공부 1565 21 08-01
1022 소프트웨어| 미니PC 드라이버 백업복원 4편 [최종+++] [17] sunshine 2166 50 07-26
1021 소프트웨어| 배치파일 관리자 권한으로 실행 [10] 지후빠 2027 24 07-23
1020 소프트웨어| 미니PC 드라이버 백업복원 3편 [수정4++] [14] sunshine 1392 41 07-21
1019 소프트웨어| 자동 업데이트 2in1 배치파일[추가4] [24] sunshine 2868 48 07-15
1018 소프트웨어| Windows 종료 시 시간 지연(윈도우 종료 지연) [2] Vincenzo 2293 2 07-07
1017 소프트웨어| 미니PC 드라이버 백업복원 2편 [13] sunshine 1499 35 07-04
1016 소프트웨어| 아래한글(HWP)에서 폰트(TTF & OTF) 사용 팁 [8] 승승아빠 1566 29 06-30
1015 소프트웨어| 미니PC 드라이버 백업복원 1편 [21] sunshine 2511 50 06-21
1014 소프트웨어| pureBasic - WIM 정보 v0998 - 일부 버그 수정 [19] 입니다 1651 48 06-12
1013 소프트웨어| pureBasic - 전원 단추 0370 - 고급 옵션 [18] 입니다 1041 41 06-12
1012 소프트웨어| PECMD CMPA 복호화 -- 내용 추가 -- [42] 夕影 1716 16 06-06
1011 소프트웨어| pureBasic - WIM 정보 v0995 - 재부팅 후 펌웨어 설정. 임... [12] 입니다 991 44 05-30
XE1.11.6 Layout1.4.8