반응형

1. 디스크 번호 상태 출력 재배치
 - 선택된 디스크 번호 상태를 화면 상단으로 이동하여 가시성을 향상시킵니다. 
 - 사용자가 현재 선택한 디스크를 빠르게 확인할 수 있습니다.

2. 파티션 라벨 및 할당 문자 변경 기능 추가
 - 사용자가 각 파티션의 라벨과 드라이브 할당 문자를 쉽게 변경할 수 있도록 기능을 개선합니다.
 - 변경된 라벨 및 할당 문자는 프리셋에 저장하여, 다음 사용 시에도 동일한 설정을 적용할 수 있습니다.
 - 특히, Data 파티션에 대해서는 드라이브 문자 D를 우선 할당하며, 만약 D가 이미 사용 중인 경우, 시스템은 자동으로 순차적으로 다른 문자를 할당합니다.

 

3. WMI(winmgmts)를 이용하여 디스크 파티션의 세부 정보를 출력하는 기능이 추가되었습니다.
 - 기본 파티션 정보(diskpart - list partition)가 먼저 출력되며, N 버튼을 클릭하면 세부 정보를 확인할 수 있습니다.
 - 단, WMI 서비스가 누락된 환경에서는 N버튼의 세부 정보가 출력되지 않습니다.

 

WMI(winmgmts)를 이용하여 디스크 파티션의 세부 정보를 출력하는 기능이 추가되었습니다.
 - 기본 파티션 정보(diskpart - list partition)가 먼저 출력되며, N 버튼을 클릭하면 세부 정보를 확인할 수 있습니다.
 - 단, WMI 서비스가 누락된 환경에서는 N버튼의 세부 정보가 출력되지 않습니다.

 

 

 

Diskpart 파티션 스크립트 v4.5 레이블 및 문자 할당  적용 - 움짤 GIF

반응형
반응형

Diskpart_partition_script_v4.0.zip
11.63MB

 

1. Diskpart 파티션 스크립트 v4.0

 - v3.5 기능 포함 및 성능 개선
 - 디스크 및 파티션의 정보가 각 리스트뷰에 출력되도록 수정
 - 상태 값 프리셋 저장 및 초기화 기능 개선

2. 기본값, 프리셋1, 프리셋2, 프리셋3을 선택 후 개별적으로 저장 가능
 - 프리셋 저장은 UEFI/GPT 구성만 지원 합니다.

 - BIOS/MBR 구성은 라디오 버튼을 통해 기본값으로 제한(윈도우 All or Data 파티션 분할 2가지 옵션만 사용 가능)

 - setting.ini 파일은 저장 기능을 사용하거나 메모장으로 열어 수동으로 수정하셔도 됩니다.

3. 디스크 번호 선택 시 자동 정보 출력
 - 디스크 번호를 선택하면 해당 파티션 정보가 자동으로 출력되도록 개선

4. 인터페이스 공간 효율화
 - 하단 프로그레스바를 제거하고 팝업 창으로 진행 상황을 출력
 - 작업 단계별 진행 상황 표시

 - 디스크 모델명 길이 확장 및 가운데 정렬 통일

5. 작업 시작 시 각 단계별 진행 상황을 팝업 프로그레스바에 표시

 

https://noways.tistory.com/2068

 

Diskpart 파티션 스크립트 v3.5 - 기능 개선 및 버그 수정

프리셋  기본값, 1,  2, 3 저장 샘플Diskpart 파티션 스크립트 v3.5 프리셋 샘플 - 움짤 GIF└▶ 상태 값 프리셋으로 저장 및 초기화└▶ 확정된 것은 아니며, 일단 기본적인 기능만 구현   영문 

noways.tistory.com

 

 

파티션 정보 출력 리스트뷰 추가

 - 디스크, 파티션 개별 리스트뷰에 정보 출력

 

 

디스크 번호 선택시 파티션 정보가 자동으로 출력 되도록 개선

 - 기본값 포함 프리셋1, 2, 3 활용 개선

 

 

 

 

 

작업 시작 진행 상황이 단계별로 팝업 프로그레스 창에 표시됩니다.

 - 디스크 초기화 중 . . .

 

 

 

작업 시작 진행 상황이 단계별로 팝업 프로그레스 창에 표시됩니다.

 - 시스템(EFI) 파티션 생성 중 . . .

 

 

 

작업 시작 진행 상황이 단계별로 팝업 프로그레스 창에 표시됩니다.

 - MSR 파티션 생성 중 . . .

 

 

 

작업 시작 진행 상황이 단계별로 팝업 프로그레스 창에 표시됩니다.

 -  윈도우 파티션 생성 중 . . .

 

 

 

작업 시작 진행 상황이 단계별로 팝업 프로그레스 창에 표시됩니다.

 - Data 파티션 생성 중 . . .

 

 

 

작업 시작 진행 상황이 단계별로 팝업 프로그레스 창에 표시됩니다.

 - 복원 파티션 생성 중 . . .

 

 

 

작업 시작 진행 상황이 단계별로 팝업 프로그레스 창에 표시됩니다.

 - 마무리 중 . . .

 

 

Diskpart 파티션 스크립트 v4.0 샘플 - 움짤 GIF

 

■ 동영상 제목 클릭 후 전체화면(1080P)시청 가능합니다.

 

정보가 도움이 되었다면 아래 링크로 커피를 후원 해주세요. ^^

donaricano-btn

반응형
반응형

프리셋  기본값, 1,  2, 3 저장 샘플

Diskpart 파티션 스크립트 v3.5 프리셋 샘플 - 움짤 GIF

└▶ 상태 값 프리셋으로 저장 및 초기화

└▶ 확정된 것은 아니며, 일단 기본적인 기능만 구현

 

 

 

영문 Windows 및 PE 환경에서 디스크 및 파티션 정보 출력 오류 수정 
 └▶ 한국어와 영문 환경 모두에서 시스템 언어를 우선으로 하여 출력되도록 개선

 

; Windows API를 사용하여 시스템 언어 확인
Func GetSystemDefaultUILanguage()
    Local $hKernel32 = DllOpen("kernel32.dll")
    If $hKernel32 = -1 Then
        ;MsgBox(16, "Error", "Unable to open kernel32.dll.")
        Exit
    EndIf

    Local $aResult = DllCall($hKernel32, "ushort", "GetSystemDefaultUILanguage")
    DllClose($hKernel32)

    If @error Or Not IsArray($aResult) Then
        ;MsgBox(16, "Error", "Failed to call GetSystemDefaultUILanguage.")
        Exit
    EndIf

    Return $aResult[0]
EndFunc

 

    ; 중복 방지 배열 선언
    Local $aUsedDisks = []

    ; 디스크 정보 추출
    Local $aLines = StringSplit($diskContent, @CRLF, 1)
    For $i = 0 To UBound($aLines) - 1
        Local $sLine = StringStripWS($aLines[$i], 3)

        ; 언어에 맞는 정규식 선택
        Local $aData
        If $bIsKorean Then
            ; 한국어 정규식
            If StringRegExp($sLine, "^디스크\s+(\d+)\s+(\S+)") Then
                $aData = StringRegExp($sLine, "^디스크\s+(\d+)\s+(\S+)\s+([\d,]+\s+[A-Za-z가-힣]+)\s+([\d,]+\s+[A-Za-z가-힣]+)\s*(\S*)\s*(\S*)$", 3)
            EndIf
        Else
            ; 영어 정규식
            If StringRegExp($sLine, "^Disk\s+(\d+)\s+(\S+)\s+([\d,]+\s+[A-Za-z]+)\s+([\d,]+\s+[A-Za-z]+)\s*(\S*)\s*(\S*)$") Then
                $aData = StringRegExp($sLine, "^Disk\s+(\d+)\s+(\S+)\s+([\d,]+\s+[A-Za-z]+)\s+([\d,]+\s+[A-Za-z]+)\s*(\S*)\s*(\S*)$", 3)
            EndIf
        EndIf

        If IsArray($aData) Then
            Local $diskNumber = $aData[0]
            
            ; 이미 출력된 디스크 번호인지 확인
            If Not IsInArray($diskNumber, $aUsedDisks) Then
                Local $size = $aData[2]
                Local $dyn = $aData[4] == "*" ? "GPT" : "MBR"

                ; detail disk 명령어 실행 및 결과 읽기
                FileDelete($sDiskInfoFile) ; 이전 명령 초기화
                FileWrite($sDiskInfoFile, "select disk " & $diskNumber & @CRLF & "detail disk" & @CRLF)
                RunWait(@ComSpec & " /c diskpart /s " & $sDiskInfoFile & " > " & $sResultFile, "", @SW_HIDE)
                Local $detailContent = FileRead($sResultFile)

                ; 디스크 모델 추출
                Local $model = "-"
                ; 디스크 모델 추출 정규식 수정
                If $bIsKorean Then
                    Local $aModelMatch = StringRegExp($detailContent, "(?m)^([^\r\n]+)\r\n디스크 ID:", 1)
                Else
                    Local $aModelMatch = StringRegExp($detailContent, "(?m)^([^\r\n]+)\r\nDisk ID:", 1)
                EndIf
                
                If IsArray($aModelMatch) Then
                    $model = StringStripWS($aModelMatch[0], 3)
                EndIf

                ; 디스크 정보를 ListView에 추가
                GUICtrlCreateListViewItem($diskNumber & "|" & $dyn & "|" & $size & "|" & $model, $hListView)

                ; 사용된 디스크 번호 배열에 추가
                _ArrayAdd($aUsedDisks, $diskNumber)
            EndIf
        EndIf
    Next

 

 

    ; 중복 방지 배열 선언
    Local $aUsedPartitionNumbers = []

    ; 파티션 정보 추출
    Local $aLines = StringSplit($partitionContent, @CRLF, 1)
    For $i = 0 To UBound($aLines) - 1
        Local $sLine = StringStripWS($aLines[$i], 3)

        ; 언어에 맞는 정규식 선택
        Local $aData
        If $bIsKorean Then
            ; 한국어 파티션 정보 정규식
            If StringRegExp($sLine, "파티션\s+(\d+)\s+(\S+)\s+([\d,]+\s+[A-Za-z]+)\s+([\d,]+\s+[A-Za-z]+)") Then
                $aData = StringRegExp($sLine, "파티션\s+(\d+)\s+(\S+)\s+([\d,]+\s+[A-Za-z]+)\s+([\d,]+\s+[A-Za-z]+)", 3)
            EndIf
        Else
            ; 영어 파티션 정보 정규식
            If StringRegExp($sLine, "Partition\s+(\d+)\s+(\S+)\s+([\d,]+\s+[A-Za-z]+)\s+([\d,]+\s+[A-Za-z]+)") Then
                $aData = StringRegExp($sLine, "Partition\s+(\d+)\s+(\S+)\s+([\d,]+\s+[A-Za-z]+)\s+([\d,]+\s+[A-Za-z]+)", 3)
            EndIf
        EndIf

        If IsArray($aData) Then
            Local $partitionNumber = $aData[0]
            
            ; 중복 파티션 번호 체크
            If Not IsInArray($partitionNumber, $aUsedPartitionNumbers) Then
                ; 파티션 정보를 ListView에 추가
                GUICtrlCreateListViewItem($aData[0] & "|" & $aData[1] & "|" & $aData[2] & "|" & $aData[3], $hListView)

                ; 사용된 파티션 번호 배열에 추가
                _ArrayAdd($aUsedPartitionNumbers, $partitionNumber)
            EndIf
        EndIf
    Next

 

 

 

■ 동영상 제목 클릭 후 전체화면(1080P)시청 가능합니다.

 

정보가 도움이 되었다면 아래 링크로 커피를 후원 해주세요. ^^

donaricano-btn

반응형
반응형

https://noways.tistory.com/2069

 

Diskpart 파티션 스크립트 v4.0 - 기능 개선(완료)

1. Diskpart 파티션 스크립트 v4.0 - v3.5 기능 포함 및 성능 개선  - 디스크 및 파티션의 정보가 각 리스트뷰에 출력되도록 수정  - 상태 값 프리셋 저장 및 초기화 기능 개선 2. 기본값, 프리

noways.tistory.com

 

 

1. KO_EN은 단순히 언어 설정 우선 순위에 따른 설정이며, 기능상의 차이는 없습니다.

2. diskpart detail disk 명령어를 사용하여 디스크 모델명이 출력되도록 개선하였습니다.

3. '선택값 초기화' 버튼은 별도로 존재하지 않으며, GPT/UEFI 또는 MBR/BIOS 라디오 버튼을 클릭하면 선택값이 자동으로 초기화됩니다.

4. GPT 및 MBR 파티션 생성 시 Data 파티션을 생성할 수 있는 옵션을 추가하였습니다.

 

5. WinRE 파티션을 생성할 때, NTFS, FAT32, FAT16, ExFAT 등 여러 포맷을 선택할 수 있도록 개선하였습니다. 
 - 기본 포맷 형식은 NTFS로 설정되어 있으며, PE 부팅용으로 파티션을 생성할 경우 FAT32 포맷을 권장합니다.
 
6. MBR/BIOS 라디오 버튼을 클릭하면 Data 파티션 생성 옵션 외의 다른 옵션은 자동으로 비활성화됩니다.

7. `작업 시작` 버튼 중복 클릭을 방지하는 기능을 추가하였습니다.

8. 작업에 대한 자세한 사항은 제공된 유튜브 영상 및 이미지를 참조해 주세요.

 

 

 

Diskpart detail disk 명령으로 디스크 모델명이 출력되도록 개선

diskpart

lis dis

sel dis 디스크 목록

det dis 에서 모델 추출 > 디스크 번호에 파싱

 

Diskpart_partition_script_v3.0.zip
12.49MB

 

 

MBR/BIOS 파티션 유형 선택 시 Data 파티션 생성 옵션만 활성화 되도록 개선

 

 

Diskpart 파티션 스크립트 v3.0 가이드 - 움짤 GIF

 

■ 동영상 제목 클릭 후 전체화면(1080P)시청 가능합니다.

 

정보가 도움이 되었다면 아래 링크로 커피를 후원 해주세요. ^^

donaricano-btn

반응형

+ Recent posts