기 타 ssd 포맷 bat 질문 입니다.
2024.03.24 16:19
안녕하세요.
실력이 너무 모자라 도움 부탁 드립니다.
여기 저기 bat 파일 보다가 저에게 맞는 부분을 가져다 짜집기로 만들어 보고 있습니다.
다른 부분은 그럭저럭 고쳐 쓰고 있는데
다음 부분을 parttion.txt 라는 파일에 적어 놓으면 그걸 가져다 포맷 하고 싶습니다.
cls
REM Diskpart 명령을 저장할 임시 텍스트 파일 생성
set "tempFile=%temp%\diskpart_script.txt"
if exist "%tempFile%" del "%tempFile%"
REM Diskpart를 사용하여 사용 중인 디스크 목록 가져오기
echo list disk > "%tempFile%"
diskpart /s "%tempFile%" > "%temp%\disk_list.txt" 2>&1
type "%temp%\disk_list.txt"
echo.
REM 파티셔닝을 위해 사용자에게 디스크 번호를 입력하도록 요청
set /p "disks_to_partition=Select DISK Number : "
echo.
echo %disks_to_partition% You have selected a disk.
echo.
echo Check the disk number once more and press Enter.
pause > nul
REM 여기서 0번 디스크 또는 1번 디스크 선택 후 나머지 부분을 partition.txt파일을 읽어와 포맷하고 싶습니다.
for %%d in (%disks_to_partition%) do (
:: 입력받은 디스크 선택
echo sel disk %%d >> "%tempFile%"
:: 디스크 초기화
echo clean >> "%tempFile%"
:: 디스크 생성
echo create partition primary >> "%tempFile%"
:: 생성된 파티션을 NTFS로 포맷하고 레이블을 Windows로 지정
echo format quick fs=ntfs >> "%tempFile%"
:: 생성 티션 문자를 W로 할당
echo assign letter=W >> "%tempFile%"
)
cls
REM 생성된 명령으로 Diskpart 실행
diskpart /s "%tempFile%"
우선 diskpart clean - clean gpt 이건 왠만하면 사용안하는게 좋습니다. 디스크 몽땅 날라가니깐요 주의주의해야 되요.
디스크 단순히 보여줄때느 wmic diskdrive get index,caption, deviceid 사용하고 디스크 번호를 인텍스로 사용하면 됩니다.
디스크가 2개면 왠만하면 윈도우 상에서 그냥 하는게 하나하나 ㅠㅠ 몇번하면 쉬워요 텍스트 파일로 저장해 두면 되니깐
sel disk xxx 만 신경 쓰면 되죠
cls
echo.
wmic diskdrive get index,caption, deviceid
echo.
set /p "disk=[disk index number ?] "
echo.
if "%disk%"=="" (
echo 디스크번호 오
pause
exit
)
echo %disk% 를 파티션 나누기 합니다
pause
set ttt=%tmp%\diskpart.txt
echo select disk %disk% >%ttt%
echo convert gpt >>%ttt% -- 이거하면 msr이 생길때도 잇고, 안생길때도 잇고 ㅠㅠ
echo create partition msr size=16 >>%ttt% (아마 안써두 될꺼임 위에서 자동생성이니깐 근데 안생길때도 잇어요)
echo create partition efi size=260 >>%ttt%
echo format quick fs=fat32 label="System" >>%ttt%
echo create partition primary size=66560 >>%ttt% -- (65G , 1024)
echo format quick fs=ntfs label="Hynix OS" >>%ttt%
echo assign letter=W >>%ttt%
echo create partition primary >>%ttt%
echo format quick fs=ntfs label="Data" >>%ttt%