주어진 드라이브의 할당되지 않은 공간을 프로그래밍 방식으로 포맷하는 코드 스 니펫을 찾고 있습니다.할당되지 않은 공간을 프로그래밍 방식으로 포맷하는 방법은 무엇입니까?
.NET 코드 (VB.NET C#) 또는 C++를 이상적으로 찾고 있습니다.
많은 감사합니다.
주어진 드라이브의 할당되지 않은 공간을 프로그래밍 방식으로 포맷하는 코드 스 니펫을 찾고 있습니다.할당되지 않은 공간을 프로그래밍 방식으로 포맷하는 방법은 무엇입니까?
.NET 코드 (VB.NET C#) 또는 C++를 이상적으로 찾고 있습니다.
많은 감사합니다.
최상의 옵션은 WMI를 사용하는 것 같습니다. 특히 Win32_Volume
클래스의 Format
메소드를 살펴보아야합니다.
대신 Win32 API의 SHFormatDrive
함수를 사용할 수 있습니다. 기능이 WMI 메서드와 비교되는 방법을 잘 모르겠지만이 옵션이 더 간단 할 수 있습니다 (특히 C++). 편집 : M. Jahedbozorgan이 지적했듯이 이것은 드라이브 셸 대화 상자를 열어 드라이브를 포맷하는 것으로 보입니다.
세 번째 옵션은 코드에서 format.exe
명령 줄을 실행 한 다음 (stdout 스트림에서 읽음) 분명히 좋은 솔루션은 아닙니다.
기타 제안 사항은 MSDN 포럼의 this thread에 나와 있습니다.
Windows는 할당되지 않은 공간뿐만 아니라 전체 볼륨을 포맷하는 방법을 제공합니다.
귀하의 질문을 올바르게 이해하면 드라이브의 나머지 공간에 파티션을 생성 한 다음 새 파티션을 포맷 할 수 있습니다.
PInvoke 및 WMI의 Win32_Volume을 사용하려고합니다.
전체 드라이브를 채우는 파일을 만든 다음 임의의 데이터를 쓰고 플러시 한 다음 닫습니다.
첫 번째 단계는 여러 구성 (예 : NTFS 압축 볼륨 또는 사용자 별 할당량)에서 안정적으로 수행하기가 가장 어려울 것입니다.
또는 명령 줄에서 "cipher/w"를 사용하십시오.
왜 할당되지 않은 공간을 포맷 하시겠습니까? 또는 어떤 드라이브에도 속하지 않은 할당되지 않은 공간에서 파티션을 만들려고합니까? –