Как получить серийный номер жесткого диска в качестве переменной из командной строки на основе Windows NT (особенно для Windows XP и 7)? Я смотрю на серийный номер физического жесткого диска
4 ответа
том С:
это получит серийный номер тома, данный ему windows.
wmic diskdrive получает серийный номер
он получает серийный номер производителя жесткого диска.
То, что вы смотрите, это не серийный номер жесткого диска.
Он называется серийным номером тома. Он генерируется во время создания и форматирования тома / раздела.
Вы можете получить его с помощью команды в командной строке:
C:\> vol c:
ifC:
это диск, для которого вы хотите получить серийный номер тома.Все, что вы можете сделать, это перенаправить вывод этой команды в файл:
C:\> vol c: > myvol.txt
и он будет сохранен как текстовый файл в вашемC:
Я прилагаю скриншот с основными моментами:
- Файл был сохранен в корне
C:
- Вот как выглядит файл
myvol.txt
в Блокноте:
В том же духе, что и ответ Моава, но на этот раз с помощью PowerShell:
Get-CimInstance Win32_DiskDrive | Select-Object Model,SerialNumber
Эта команда получает экземпляр класса WMI Win32_DiskDrive
и выводит модель каждого диска в компьютере и соответствующий ему серийный номер из этого экземпляра.
Этот ответ предполагает использование PowerShell 3.0 или более поздней версии. Если вы используете более старую версию, используйте Get-WmiObject
вместо Get-CimInstance
.
В Windows 8 и более поздних версиях вы также можете использовать эту команду:
Get-PhysicalDisk | Select-Object FriendlyName,SerialNumber
В пакетном файле один из подходов:
- Команда VOL для создания серийного номера в виде текста вместе с текстом, который нам не нужен.
- НАЙТИ, чтобы обрезать его только до строки с серийным номером.
- Чтобы получить 5-й токен (часть между разделителями) в строке с серийным номером.
- SET для назначения переменной среды
for /f "tokens=5 delims= " %%a in ('vol c: ^| Find "Serial Number"') do (
set VOLSERIAL=%%a
)