Как получить серийный номер жесткого диска из командной строки?


39

Как получить серийный номер жесткого диска в качестве переменной из командной строки на базе Windows NT (особенно для Windows XP и 7)? Я смотрю на серийный номер физического жесткого диска


Для Windows XP, см. Этот вопрос для правильного метода: superuser.com/q/708146/24010
канадец Люк ОБНОВИТЬ МОНИКА

2
Если у вас много таких жестких дисков, как я, используйте это вместо того, чтобы помочь вам узнать, что именно: wmic diskdrive get name,size,model,SerialNumber...Source
Enissay

Ответы:


56

Попробуйте эту команду

том С:

это получит серийный номер тома, данный ему windows.

wmic diskdrive получает серийный номер

он получает серийный номер производителя жесткого диска.


Я не вижу этого в своем вопросе, может быть, ему нужно перефразировать заглавного чувака: «Как получить серийный номер жесткого диска из командной строки?»
Моав

При использовании wmic diskdrive get serialnumberя получаю сообщение Invalid XML. Что это означает?
Максбестер

Я получил неверный запрос на ошибку wmic diskdrive get serialnumber.
atoMerz

1
@Maxbester и @atoMerz: у меня были обе проблемы. Invalid XMLбыло связано с подключением более одного диска и Invalid queryпроизошло, потому что я был на Windows XP. См. Этот ответ для обеих проблем: stackoverflow.com/questions/9287450/…
Матиас Браун

2
Внимание! wmic diskdrive get serialnumberWin32_DiskDriveкласс WMI в целом) возвращает серийный номер с каждой парой символов в обратном порядке. Поэтому, если на этикетке вашего жесткого диска указано «abcd1234», WMI сообщит ваш серийный номер как «badc2143». Больше информации здесь .
Рохо

5
  • То, что вы смотрите, это не серийный номер жесткого диска.

  • Он называется серийным номером тома . Он генерируется во время создания и форматирования тома / раздела.

  • Вы можете получить его с помощью команды в командной строке: C:\> vol c:если C:это диск, для которого вы хотите получить серийный номер тома.

  • Все, что вы можете сделать, это перенаправить вывод этой команды в файл, C:\> vol c: > myvol.txtи он будет сохранен в виде текстового файла в вашемC:

  • Я прилагаю скриншот с основными моментами:

введите описание изображения здесь

  • Файл хранился в корне C:

введите описание изображения здесь

  • Вот как myvol.txtфайл выглядит в блокноте:

введите описание изображения здесь


Вопрос отредактирован; извините за неверную информацию
канадец Люк ОБНОВИТЬ МОНИКА

1
Прежде чем рассмотреть возможность отрицательного голосования по этому ответу, имейте в виду, что он был опубликован до того, как ФП пояснил первоначальный вопрос. Этот ответ был действительно правильным для исходного вопроса.
Я говорю Восстановить Монику

Серийные номера, полученные таким образом, не совпадают с серийными номерами в SeaTools для Windows ???
PrimitiveNom

5

В том же духе, что и ответ Моава, но на этот раз с помощью 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

4

В пакетном файле один из подходов:

  1. Команда VOL для создания серийного номера в виде текста вместе с текстом, который нам не нужен.
  2. НАЙТИ, чтобы обрезать его только до строки с серийным номером.
  3. Для получения 5-го токена (части между разделителями) в строке с серийным номером.
  4. SET для назначения переменной окружения

for /f "tokens=5 delims= " %%a in ('vol c: ^| Find "Serial Number"') do (
set VOLSERIAL=%%a
)

Вопрос отредактирован; извините за неверную информацию
канадец Люк ОБНОВИТЬ МОНИКА

2
Прежде чем рассмотреть возможность отрицательного голосования по этому ответу, имейте в виду, что он был опубликован до того, как ФП пояснил первоначальный вопрос. Этот ответ был действительно правильным для исходного вопроса.
Я говорю: восстанови Монику
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.