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

O canadense Luke REINSTATE MONICA
fonte
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
Possivelmente relacionado: Obtendo o número de série do HDD .
G-Man diz 'Reinstate Monica'

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.

Moab
fonte
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

aliasgar
fonte
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
bwDraco
fonte
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
)
Brian
fonte
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