Como obter o número de série do disco rígido na linha de comando?


39

No prompt de comando baseado no Windows NT (Windows XP e 7 especificamente), como posso obter o número de série de um disco rígido como variável? O que eu estou vendo é o número de série da unidade de disco rígido física


Para Windows xp, consulte esta pergunta para um método adequado: superuser.com/q/708146/24010
canadense Luke REINSTATE MONICA

2
Se você possui muitos discos rígidos como eu, use-o para ajudá-lo a saber qual é qual: wmic diskdrive get name,size,model,SerialNumber...Source
Enissay

Respostas:


56

Tente este comando

vol C:

isso obterá o número de série do volume fornecido pelo Windows.

wmic diskdrive obter número de série

isso obtém o número de série do fabricante do disco rígido.


Não vejo isso na pergunta dele, talvez ele precise reformular o título, "Como obter o número de série do disco rígido na linha de comando?"
Moab

Ao usar wmic diskdrive get serialnumber, recebo a mensagem Invalid XML. O que isso significa?
Maxbester

Recebo erro de consulta inválido para wmic diskdrive get serialnumber.
atoMerz

11
@ Maxbester e @atoMerz: eu tive os dois problemas. Invalid XMLfoi devido a ter mais de uma unidade conectada e Invalid queryocorreu porque eu estava no Windows XP. Veja esta resposta para os dois problemas: stackoverflow.com/questions/9287450/…
Matthias Braun

2
Cuidado! wmic diskdrive get serialnumber(e a Win32_DiskDriveclasse WMI em geral) retorna o número de série com cada par de caracteres invertido. Portanto, se a etiqueta do seu disco rígido exibir "abcd1234", o WMI reportará o número de série como "badc2143". Mais informações aqui .
Rogerio4

5
  • O que você está olhando NÃO é o número de série do disco rígido.

  • É chamado de número de série do volume . É gerado no momento da criação e formatação do volume / partição.

  • Você pode obtê-lo usando um comando no prompt de comando: C:\> vol c:se C:é a unidade para a qual você deseja recuperar o Número de Série do Volume.

  • Tudo o que você pode fazer é redirecionar a saída desse comando para um arquivo: C:\> vol c: > myvol.txte ele será armazenado como um arquivo de texto no seuC:

  • Estou anexando uma captura de tela com os destaques:

insira a descrição da imagem aqui

  • O arquivo foi armazenado na raiz de C:

insira a descrição da imagem aqui

  • É assim que o myvol.txtarquivo se parece no Bloco de Notas:

insira a descrição da imagem aqui


Pergunta editada; desculpe pelas informações incorretas
Canadian Luke REINSTATE MONICA

11
Antes de considerar uma resposta negativa a esta resposta, observe que ela foi postada antes do OP esclarecer a pergunta original. Esta resposta foi realmente correta para a pergunta original.
Eu digo Reinstate Monica

os números de série recuperados dessa maneira não coincidem com os números de série no SeaTools for Windows ???
PrimitiveNom

5

Na mesma linha que a resposta de Moab, mas usando o PowerShell desta vez:

Get-CimInstance Win32_DiskDrive | Select-Object Model,SerialNumber

Este comando obtém uma instância da Win32_DiskDriveclasse WMI e gera o modelo de cada unidade de disco no computador e o número de série correspondente dessa instância.

Esta resposta assume o PowerShell 3.0 ou posterior. Se estiver executando uma versão mais antiga, use Get-WmiObjectno lugar de Get-CimInstance.

No Windows 8 e posterior, você também pode usar este comando:

Get-PhysicalDisk | Select-Object FriendlyName,SerialNumber

4

Em um arquivo em lotes, uma abordagem é:

  1. Comando VOL para produzir o número de série como texto, juntamente com o texto que não queremos.
  2. FIND para apará-lo apenas na linha com o número de série.
  3. FOR para pegar o quinto token (uma parte entre delimitadores) na linha com o número de série.
  4. SET para atribuir a uma variável de ambiente

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

Pergunta editada; desculpe pelas informações incorretas
Canadian Luke REINSTATE MONICA

2
Antes de considerar uma resposta negativa a esta resposta, observe que ela foi postada antes do OP esclarecer a pergunta original. Esta resposta foi realmente correta para a pergunta original.
Eu digo Restabelecer Monica
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.