Làm thế nào để có được số sê-ri ổ cứng từ dòng lệnh?


39

Từ dấu nhắc lệnh dựa trên Windows NT (cụ thể là Windows XP và 7), làm cách nào tôi có thể lấy số sê-ri của ổ cứng làm biến? Số tôi đang xem là số sê-ri của ổ đĩa cứng vật lý


Đối với Windows xp, hãy xem câu hỏi này để biết phương pháp phù hợp: superuser.com/q/708146/24010
Canada Luke REINSTATE MONICA

2
Nếu bạn có nhiều ổ đĩa cứng như tôi, hãy sử dụng cái này thay vào đó để giúp bạn biết đó là cái gì: wmic diskdrive get name,size,model,SerialNumber...Source
Enissay

Câu trả lời:


56

Hãy thử lệnh này

quyển C:

điều này sẽ nhận được số sê-ri âm lượng được cung cấp cho nó bởi các cửa sổ.

ổ đĩa wmic nhận serialnumber

điều này có được số sê-ri của nhà sản xuất ổ cứng.


Tôi không thấy rằng trong câu hỏi của anh ấy, có lẽ anh ấy cần phải viết lại từ tiêu đề, "Làm thế nào để lấy số sê-ri ổ cứng từ dòng lệnh?"
Moab

Khi sử dụng wmic diskdrive get serialnumbertôi nhận được tin nhắn Invalid XML. Nó có nghĩa là gì?
Maxbester

Tôi nhận được lỗi truy vấn không hợp lệ cho wmic diskdrive get serialnumber.
atoMerz

1
@Maxbester và @atoMerz: Tôi có cả hai vấn đề. Invalid XMLlà do có nhiều hơn một ổ đĩa được kết nối và Invalid queryxảy ra vì tôi đang dùng Windows XP. Xem câu trả lời này cho cả hai vấn đề: stackoverflow.com/questions/9287450/ Kẻ
Matthias Braun

2
Chú ý! wmic diskdrive get serialnumber(và Win32_DiskDrivelớp WMI nói chung) trả về số sê-ri với mỗi cặp ký tự được đảo ngược. Vì vậy, nếu nhãn ổ cứng của bạn đọc "abcd1234" WMI sẽ báo cáo số sê-ri của bạn là "badc2143". Thêm thông tin ở đây .
rojo

5
  • Những gì bạn đang xem KHÔNG phải là số sê-ri ổ cứng.

  • Nó được gọi là Số sê-ri khối . Nó được tạo tại thời điểm tạo và định dạng âm lượng / phân vùng.

  • Bạn có thể lấy nó bằng cách sử dụng một lệnh tại dấu nhắc lệnh: C:\> vol c:nếu C:là ổ đĩa bạn muốn truy xuất Số sê-ri âm lượng cho.

  • Tất cả những gì bạn có thể làm là chuyển hướng đầu ra của lệnh đó sang một tệp: C:\> vol c: > myvol.txtvà nó sẽ được lưu trữ dưới dạng tệp văn bản trongC:

  • Tôi đang đính kèm một ảnh chụp màn hình với những điểm nổi bật:

nhập mô tả hình ảnh ở đây

  • Các tập tin đã được lưu trữ trong thư mục gốc của C:

nhập mô tả hình ảnh ở đây

  • Đây là những gì myvol.txttập tin trông giống như trong Notepad:

nhập mô tả hình ảnh ở đây


Câu hỏi được chỉnh sửa; xin lỗi vì thông tin sai lệch
Luke Luke REINSTATE MONICA của Canada

1
Trước khi xem xét bỏ phiếu cho câu trả lời này, xin lưu ý rằng nó đã được đăng trước khi OP làm rõ câu hỏi ban đầu. Câu trả lời này thực sự chính xác cho câu hỏi ban đầu.
Tôi nói Phục hồi Monica

số sê-ri được truy xuất theo cách này không khớp với số sê-ri trong SeaTools cho Windows ???
Nguyên thủy

5

Cũng giống như câu trả lời của Moab, nhưng sử dụng PowerShell lần này:

Get-CimInstance Win32_DiskDrive | Select-Object Model,SerialNumber

Lệnh này lấy một thể hiện của Win32_DiskDrivelớp WMI và đưa ra mô hình của từng ổ đĩa trong máy tính và số sê-ri tương ứng của nó từ thể hiện đó.

Câu trả lời này giả định PowerShell 3.0 trở lên. Nếu chạy một phiên bản cũ hơn, sử dụng Get-WmiObjectthay thế Get-CimInstance.

Trên Windows 8 trở lên, bạn cũng có thể sử dụng lệnh này:

Get-PhysicalDisk | Select-Object FriendlyName,SerialNumber

4

Trong một tập tin bó, một cách tiếp cận là:

  1. Lệnh VOL để tạo số sê-ri dưới dạng văn bản cùng với văn bản mà chúng tôi không muốn.
  2. TÌM để cắt nó xuống chỉ dòng với số sê-ri.
  3. FOR để lấy mã thông báo thứ 5 (một phần giữa các dấu phân cách) trên dòng có số sê-ri.
  4. SET để gán cho một biến môi trường

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

Câu hỏi được chỉnh sửa; xin lỗi vì thông tin sai lệch
Canada Luke REINSTATE MONICA

2
Trước khi xem xét bỏ phiếu cho câu trả lời này, xin lưu ý rằng nó đã được đăng trước khi OP làm rõ câu hỏi ban đầu. Câu trả lời này thực sự chính xác cho câu hỏi ban đầu.
Tôi nói Phục hồi lại
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.