Windows NT 기반 (Windows XP 및 7) 명령 프롬프트에서 하드 드라이브의 일련 번호를 변수로 얻는 방법은 무엇입니까? 내가보고있는 것은 실제 하드 디스크 드라이브의 일련 번호입니다.
Windows NT 기반 (Windows XP 및 7) 명령 프롬프트에서 하드 드라이브의 일련 번호를 변수로 얻는 방법은 무엇입니까? 내가보고있는 것은 실제 하드 디스크 드라이브의 일련 번호입니다.
답변:
vol C :
이것은 윈도우에 의해 주어진 볼륨 일련 번호를 얻을 것입니다.
wmic diskdrive는 일련 번호를 얻습니다
이것은 제조업체의 하드 드라이브 일련 번호를 얻습니다.
wmic diskdrive get serialnumber하면 메시지가 나타납니다 Invalid XML. 무슨 뜻이에요?
wmic diskdrive get serialnumber.
Invalid XML하나 이상의 드라이브가 연결되어 Invalid queryWindows XP에 있었기 때문에 발생했습니다. 두 가지 문제 모두에 대해이 답변을 참조하십시오. stackoverflow.com/questions/9287450/…
wmic diskdrive get serialnumber(및 Win32_DiskDrive일반적으로 WMI 클래스)는 각 문자 쌍이 반전 된 일련 번호를 반환합니다. 따라서 하드 드라이브 레이블에 "abcd1234"가 표시되면 WMI에서 일련 번호를 "badc2143"으로보고합니다. 자세한 내용은 여기를 참조하십시오 .
당신이보고있는 것은 하드 드라이브 일련 번호 가 아닙니다 .
이를 볼륨 일련 번호 라고합니다 . 볼륨 / 파티션을 생성하고 포맷 할 때 생성됩니다.
명령 프롬프트에서 다음 명령을 사용하여 얻을 수 있습니다. C:\> vol c:if C:는 볼륨 일련 번호를 검색하려는 드라이브입니다.
해당 명령의 출력을 파일로 리디렉션하기 C:\> vol c: > myvol.txt만하면됩니다. 텍스트 파일로 텍스트 파일로 저장됩니다.C:
하이라이트가 표시된 스크린 샷을 첨부하고 있습니다.

C: 
myvol.txt파일이 메모장에서 다음과 같습니다 
이번에는 Moab의 대답과 같은 맥락에서 PowerShell을 사용합니다.
Get-CimInstance Win32_DiskDrive | Select-Object Model,SerialNumber
이 명령은 Win32_DiskDriveWMI 클래스 의 인스턴스를 가져 와서 컴퓨터의 각 디스크 드라이브 모델과 해당 인스턴스의 해당 일련 번호를 출력합니다.
이 답변은 PowerShell 3.0 이상을 가정합니다. 이전 버전을 실행하는 경우 Get-WmiObject대신 사용하십시오 Get-CimInstance.
Windows 8 이상에서이 명령을 사용할 수도 있습니다.
Get-PhysicalDisk | Select-Object FriendlyName,SerialNumber
배치 파일에서 한 가지 접근 방식은 다음과 같습니다.
for /f "tokens=5 delims= " %%a in ('vol c: ^| Find "Serial Number"') do (
set VOLSERIAL=%%a
)