강좌 / 팁

배치 파일 for문에서 diskpart 실행

2024.09.01 11:50

sunshine 조회:882 추천: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 - - -
4510 소프트웨어| 응답파일(unattend.xml) 교체 및 수정 - ChangeUnattend v2 [21] 무월 1622 51 09-26
4509 윈 도 우| Windows 11 작업 관리자가 곧 컴퓨터에 어떤 종류의 SSD가 ... [2] VᴇɴᴜꜱGɪ 1649 8 09-23
4508 윈 도 우| Windows 터미널 사용 방법 및 유용한 용도 [1] VᴇɴᴜꜱGɪ 698 4 09-23
4507 [Tip] Ventoy 테마 폰트 에 대하여.. [5] 메인보드 1348 18 09-16
4506 Windows 11에서 드라이브 활동을 모니터링하는 방법 [1] VᴇɴᴜꜱGɪ 797 3 09-15
4505 소프트웨어| install.wim 이미지 추출 - WimInfo [18] 무월 2389 62 09-13
4504 오직 배치파일로만 VHD관리해보기.. [7] 수채화 1116 23 09-09
4503 소프트웨어| WinNTSetup - VHD(윈도우 설치) 활용 방법 [13] 무월 1621 55 09-08
4502 레인미터와 HWiNFO 연동하기 [5] 수채화 917 21 09-08
4501 Windows 11 버전 24H2의 작업 표시줄 및 시작 메뉴의 새로... [2] VᴇɴᴜꜱGɪ 1974 4 09-07
4500 Windows 11 버전 24H2 롤백 및 제거 방법 VᴇɴᴜꜱGɪ 1722 9 09-05
4499 "이 앱을 찾을 수 없습니다" Windows 시작 레지... VᴇɴᴜꜱGɪ 1244 1 09-03
4498 Windows 11 버전 24H2 다운로드 및 설치 방법 VᴇɴᴜꜱGɪ 2972 1 09-03
4497 Windows 11 및 10의 문제를 해결하기 위해 Windows 보안 앱... VᴇɴᴜꜱGɪ 1276 4 09-02
4496 배치 파일 색상 팔레트 [11] 지후빠 1174 30 09-01
» 배치 파일 for문에서 diskpart 실행 [7] sunshine 882 18 09-01
4494 배치파일 작은 팁 2가지 [15] sunshine 1814 34 08-26
4493 Powershell 스크립트 작성 할때 많이 사용하는 명령어 [2] Nic네임 700 11 08-25
4492 빠르게 Powershell 배우는 방법 [7] Nic네임 2504 25 08-07
4491 Powershell Script 관리자 권한으로 실행하는 방법 [1] Nic네임 847 10 08-07
XE1.11.6 Layout1.4.8