Come ottenere il numero di serie del disco rigido dalla riga di comando?


39

Dal prompt dei comandi basato su Windows NT (in particolare Windows XP e 7), come posso ottenere il numero seriale di un disco rigido come variabile? Quello che sto guardando è il numero seriale del disco rigido fisico


Per Windows XP, vedere questa domanda per un metodo corretto: superuser.com/q/708146/24010
Canadian Luke REINSTATE MONICA

2
Se hai molti dischi rigidi come me, usa questo invece per aiutarti a sapere quale è: wmic diskdrive get name,size,model,SerialNumber...Source
Enissay

Risposte:


56

Prova questo comando

vol C:

questo otterrà il numero di serie del volume assegnatogli da Windows.

wmic diskdrive ottiene il numero seriale

questo ottiene il numero di serie del produttore del disco rigido.


Non vedo che nella sua domanda, forse ha bisogno di riscrivere il titolo amico, "Come ottenere il numero di serie del disco rigido dalla riga di comando?"
Moab,

Quando utilizzo wmic diskdrive get serialnumberottengo il messaggio Invalid XML. Cosa significa?
Maxbester,

Ottengo un errore di query non valido per wmic diskdrive get serialnumber.
atoMerz,

1
@Maxbester e @atoMerz: ho avuto entrambi i problemi. Invalid XMLera dovuto al fatto di avere più di un'unità collegata e si Invalid queryverificava perché ero su Windows XP. Vedi questa risposta per entrambi i problemi: stackoverflow.com/questions/9287450/…
Matthias Braun,

2
Attenzione! wmic diskdrive get serialnumber(e la Win32_DiskDriveclasse WMI in generale) restituisce il numero seriale con ciascuna coppia di caratteri invertita. Pertanto, se l'etichetta del disco rigido riporta "abcd1234", WMI riporterà il numero di serie come "badc2143". Maggiori informazioni qui .
rojo,

5
  • Quello che stai guardando NON è il numero di serie del disco rigido.

  • Si chiama il numero di serie del volume . Viene generato al momento della creazione e della formattazione del volume / della partizione.

  • Puoi ottenerlo usando un comando al prompt dei comandi: C:\> vol c:se C:è l'unità per cui vuoi recuperare il numero di serie del volume.

  • Tutto quello che puoi fare è reindirizzare l'output di quel comando su un file: C:\> vol c: > myvol.txte verrà archiviato come file di testo nel tuoC:

  • Allego uno screenshot con i punti salienti:

inserisci qui la descrizione dell'immagine

  • Il file è stato archiviato nella radice di C:

inserisci qui la descrizione dell'immagine

  • Ecco myvol.txtcome appare il file nel Blocco note:

inserisci qui la descrizione dell'immagine


Domanda modificata; scusate per le informazioni errate
Canadian Luke REINSTATE MONICA

1
Prima di prendere in considerazione un voto negativo a questa risposta, si noti che è stato pubblicato prima che il PO chiarisse la domanda originale. Questa risposta era effettivamente corretta per la domanda originale.
Dico Reinstate Monica l'

i numeri di serie recuperati in questo modo non corrispondono ai numeri di serie in SeaTools per Windows ???
PrimitiveNom

5

Allo stesso modo della risposta di Moab, ma usando PowerShell questa volta:

Get-CimInstance Win32_DiskDrive | Select-Object Model,SerialNumber

Questo comando ottiene un'istanza della Win32_DiskDriveclasse WMI e genera il modello di ciascuna unità disco nel computer e il numero seriale corrispondente da tale istanza.

Questa risposta presuppone che PowerShell 3.0 o versione successiva. Se si esegue una versione precedente, utilizzare Get-WmiObjectal posto di Get-CimInstance.

Su Windows 8 e versioni successive, puoi anche utilizzare questo comando:

Get-PhysicalDisk | Select-Object FriendlyName,SerialNumber

4

In un file batch un approccio è:

  1. Comando VOL per produrre il numero seriale come testo insieme al testo che non vogliamo.
  2. TROVA per tagliare fino alla sola riga con il numero di serie.
  3. FOR per afferrare il 5 ° token (una parte tra i delimitatori) sulla riga con il numero seriale.
  4. SET da assegnare a una variabile d'ambiente

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

Domanda modificata; scusate per le informazioni errate
Canadian Luke REINSTATE MONICA

2
Prima di prendere in considerazione un voto negativo a questa risposta, si noti che è stato pubblicato prima che il PO chiarisse la domanda originale. Questa risposta era effettivamente corretta per la domanda originale.
Dico Reinstate Monica l'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.