강좌 / 팁

배치 파일 for문에서 diskpart 실행

2024.09.01 11:50

sunshine 조회:875 추천: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 - - -
4503 소프트웨어| WinNTSetup - VHD(윈도우 설치) 활용 방법 [13] 무월 1593 55 09-08
4502 레인미터와 HWiNFO 연동하기 [5] 수채화 901 21 09-08
4501 Windows 11 버전 24H2의 작업 표시줄 및 시작 메뉴의 새로... [2] VᴇɴᴜꜱGɪ 1940 4 09-07
4500 Windows 11 버전 24H2 롤백 및 제거 방법 VᴇɴᴜꜱGɪ 1603 9 09-05
4499 "이 앱을 찾을 수 없습니다" Windows 시작 레지... VᴇɴᴜꜱGɪ 1229 1 09-03
4498 Windows 11 버전 24H2 다운로드 및 설치 방법 VᴇɴᴜꜱGɪ 2898 1 09-03
4497 Windows 11 및 10의 문제를 해결하기 위해 Windows 보안 앱... VᴇɴᴜꜱGɪ 1259 4 09-02
4496 배치 파일 색상 팔레트 [11] 지후빠 1163 30 09-01
» 배치 파일 for문에서 diskpart 실행 [7] sunshine 875 18 09-01
4494 배치파일 작은 팁 2가지 [15] sunshine 1800 34 08-26
4493 Powershell 스크립트 작성 할때 많이 사용하는 명령어 [2] Nic네임 697 11 08-25
4492 빠르게 Powershell 배우는 방법 [7] Nic네임 2489 25 08-07
4491 Powershell Script 관리자 권한으로 실행하는 방법 [1] Nic네임 840 10 08-07
4490 경로 복사 컨텍스트 메뉴[수정8] [12] sunshine 1694 29 08-02
4489 가볍고 편리한 런처 LaunchOnFly 소개합니다 [6] 지금은공부 1764 21 08-01
4488 미니PC 드라이버 백업복원 4편 [최종+++] [17] sunshine 2427 50 07-26
4487 배치파일 관리자 권한으로 실행 [10] 지후빠 2159 24 07-23
4486 미니PC 드라이버 백업복원 3편 [수정4++] [14] sunshine 1473 41 07-21
4485 소프트웨어| 자동 업데이트 2in1 배치파일[추가4] [24] sunshine 3071 48 07-15
4484 소프트웨어| Windows 종료 시 시간 지연(윈도우 종료 지연) [2] Vincenzo 2434 2 07-07
XE1.11.6 Layout1.4.8