如何从命令行获取硬盘序列号?

Can*_*uke 44 windows command-line

在基于 Windows NT(特别是 Windows XP 和 7)的命令提示符下,如何将硬盘驱动器的序列号作为变量获取?我看的是物理硬盘的序列号

Moa*_*oab 62

试试这个命令

卷 C:

这将获得 Windows 提供给它的卷序列号。

wmic 磁盘驱动器获取序列号

这将获取硬盘驱动器的制造商序列号。

  • 警告!`wmic diskdrive get serialnumber`(以及一般的`Win32_DiskDrive` WMI 类)返回每对字符反转的序列号。因此,如果您的硬盘驱动器标签显示为“abcd1234”,WMI 会将您的序列号报告为“badc2143”。[此处的更多信息](http://stackoverflow.com/questions/27297348/)。 (3认同)

bwD*_*aco 8

与 Moab 的回答相同,但这次使用 PowerShell:

Get-CimInstance Win32_DiskDrive | Select-Object Model,SerialNumber
Run Code Online (Sandbox Code Playgroud)

此命令获取Win32_DiskDriveWMI 类的一个实例,并从该实例输出计算机中每个磁盘驱动器的型号及其对应的序列号。

此答案假定 PowerShell 3.0 或更高版本。如果运行的是旧版本,使用Get-WmiObject到位Get-CimInstance

在 Windows 8 及更高版本上,您还可以使用以下命令:

Get-PhysicalDisk | Select-Object FriendlyName,SerialNumber
Run Code Online (Sandbox Code Playgroud)


ali*_*gar 5

  • 您看到的不是硬盘序列号。

  • 它被称为卷序列号。它是在创建和格式化卷/分区时生成的。

  • 您可以通过在命令提示符下使用命令来获取它:C:\> vol c:如果C:是您要为其检索卷序列号的驱动器。

  • 您所能做的就是将该命令的输出重定向到一个文件:C:\> vol c: > myvol.txt它将作为文本文件存储在您的C:

  • 我附上了一个带有亮点的屏幕截图:

在此处输入图片说明

  • 该文件存储在根目录下 C:

在此处输入图片说明

  • 这是myvol.txt文件在记事本中的样子:

在此处输入图片说明


Bri*_*ian 5

在批处理文件中,一种方法是:

  1. VOL 命令将序列号生成为文本以及我们不需要的文本。
  2. FIND 将其修剪为仅包含序列号的行。
  3. FOR 获取带有序列号的行上的第 5 个标记(分隔符之间的部分)。
  4. SET 分配给环境变量

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

  • 在考虑对这个答案投反对票之前,请注意它是在 OP 澄清原始问题之前发布的。这个答案对于原始问题确实是正确的。 (2认同)