Як я можу отримати серійний номер жорсткого диска як змінну із командного рядка на базі 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 queryстався тому, що я був у Windows XP. Дивіться цю відповідь на обидва питання: stackoverflow.com/questions/9287450/…
wmic diskdrive get serialnumber(і Win32_DiskDriveклас WMI взагалі) повертає серійний номер з кожною парою символів, перевернутими. Тож якщо на етикетці вашого жорсткого диска написано "abcd1234", WMI повідомить про ваш серійний номер як "badc2143". Більше інформації тут .
Що ви дивитесь, це НЕ серійний номер жорсткого диска.
Він називається томовим серійним номером . Він генерується під час створення та форматування об'єму / розділу.
Ви можете отримати його, скориставшись командою у командному рядку: C:\> vol c:якщо C:це диск, для якого потрібно отримати серійний номер гучності.
Все, що ви можете зробити, це перенаправити вихід цієї команди на файл: C:\> vol c: > myvol.txtі він буде збережений як текстовий файл у вашомуC:
Я додаю скріншот із основними моментами:

C: 
myvol.txtвиглядає файл у Блокноті: 
Так само, як і відповідь Моаба, але цього разу використовуючи PowerShell:
Get-CimInstance Win32_DiskDrive | Select-Object Model,SerialNumber
Ця команда отримує екземпляр Win32_DiskDriveкласу WMI і виводить модель кожного дискового накопичувача на комп’ютері та відповідний їй серійний номер із цього примірника.
Ця відповідь передбачає 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
)