Làm cách nào để xác định xem hệ thống của tôi có phải là Windows 10 bằng dòng lệnh không? [bản sao]


32

Câu hỏi này đã có câu trả lời ở đây:

Tôi đang làm việc với InstallAnywhere, một chương trình cũ để tạo trình cài đặt. Tôi muốn cài đặt một tệp cụ thể, chỉ trong trường hợp Windows XP và Windows Vista.

Do những hạn chế của InstallAnywhere, điều này là không thể. Tôi chỉ có thể quyết định xóa tệp khi nó đã được cài đặt, dựa trên quy tắc.

Theo quy tắc đó, tôi có thể kiểm tra nền tảng mà tôi đang chạy, điều này cho tôi khả năng kiểm tra Windows XP, Windows Vista, Windows 7, v.v. nhưng không phải cho Windows 10. Tôi không thể nói "Thực hiện điều này hành động khi hệ thống không phải là XP hoặc Vista ", vì vậy tôi cần nói" Thực hiện hành động này trên tất cả các nền tảng không phải là XP hoặc Vista ".

Tuy nhiên, tôi có thể khởi chạy các lệnh dòng lệnh và nắm bắt kết quả, vì vậy đây là câu hỏi của tôi: có một lệnh nào tôi có thể sử dụng để xác định xem tôi có làm việc trên hệ thống Windows 10 không?


winversẽ bật lên hộp thoại Giới thiệu về Windows nếu được nhập bằng cmd hoặc Bắt đầu. Liệu điều đó có hiệu quả? Ngoài ra - stackoverflow.com/questions/1792740/
Mạnh

Cảm ơn bạn đã trả lời, nhưng tôi đang tìm kiếm một dòng lệnh đưa ra câu trả lời trong dòng lệnh, tôi không thể sử dụng thông tin theo cách loại hàng loạt khi hộp thông báo bật lên.
Dominique

Kiểm tra phiên bản cmd.exe, đây là phiên bản dễ nhất và được hỗ trợ ít nhất kể từ XP. Có một câu hỏi về nó.
KeyWeeUsr

2
các phiên bản cmd của google, mỗi hệ điều hành có số phiên bản khác nhau, bạn có thể kiểm tra xem và bạn không cần bất kỳ tập lệnh dài không cần thiết hoặc chương trình nào khác - tại đây
KeyWeeUsr

5
Chỉ cần gõ ver. Ví dụ: trên hệ thống Windows 7 của tôi, tôi nhận được "Microsoft Windows [Phiên bản 6.1.7601]" cho tôi biết rằng tôi đang chạy Windows 7 (có phiên bản số 6.1 ).
Andreas Rejbrand

Câu trả lời:


54

Có lệnh nào để xác định xem tôi có đang làm việc trên hệ thống Windows 10 không?

Bạn có thể sử dụng wmic.

Lệnh sau sẽ trả về phiên bản Windows.

wmic os get Caption | findstr /v Caption

Ví dụ đầu ra:

F:\test>wmic os get Caption | findstr /v Caption
Microsoft Windows 7 Home Premium

Nếu bạn muốn biết thêm một chút thông tin, bạn có thể sử dụng tệp bó sau (GetOS.cmd), tệp này sẽ truy xuất và hiển thị:

  • Phiên bản hệ điều hành
  • Gói dịch vụ Phiên bản chính
  • Kiến trúc (64 hoặc 32 bit)
@echo off
setlocal
setlocal enabledelayedexpansion
set _os=
set _sp=
rem use findstr to strip blank lines from wmic output
rem get OS
for /f "usebackq skip=1 tokens=3" %%i in (`wmic os get caption ^| findstr /r /v "^$"`) do (
  set "_os=%%i"
  )
rem get Service Pack
for /f "usebackq skip=1 tokens=*" %%i in (`wmic os get ServicePackMajorVersion ^| findstr /r /v "^$"`) do (
  set "_sp=%%i"
  )
rem get Architecture
for /f "usebackq skip=1 tokens=*" %%i in (`wmic OS get OSArchitecture ^| findstr /r /v "^$"`) do (
  set "_bits=%%i"
  )
echo Operating System Version: %_os%
echo Service Pack Major Version: %_sp%
echo Architecture: %_bits%
endlocal

Phiên bản HĐH được lưu trữ trong %_os, Gói dịch vụ Phiên bản chính được lưu trữ %_sp%và Kiến trúc được lưu trữ trong %_bits%.

Ghi chú:

  • Không được kiểm tra hoàn toàn vì tôi không có tất cả các kết hợp Gói hệ điều hành và Dịch vụ để kiểm tra.

  • Các forlệnh lấy chỉ là phần thứ 3 (token) của hệ điều hành. Điều này sẽ hoạt động cho các phiên bản máy tính để bàn (nếu bạn muốn phân biệt Server 2008 với các phiên bản khác, bạn sẽ cần tìm giải pháp khác).

  • %_ossẽ được thiết lập để một trong những giá trị sau: Server, Vista, 7, 8, 8.1hoặc 10.

Ví dụ đầu ra:

F:\test>GetOS
Operating System Version: 7
Service Pack Major Version: 1
Architecture: 64-bit

F:\test>

Đọc thêm


2
Sau một số thử nghiệm, tôi đã quyết định sử dụng lệnh sau:wmic os get Caption | findstr /V Caption
Dominique

@DavidPostill Tôi đã kiểm tra tệp bó. Tôi nghĩ rằng nó cần một pausetrước khi endlocalđể cho người dùng cơ hội đọc đầu ra trước khi cửa sổ đóng lại. Điều đó cũng theo bạn?
Matthew

1
@Matthew Tôi nghĩ rằng kỳ vọng là một số hệ thống khác sẽ chạy tệp bó và bắt đầu ra của nó (hoặc nó sẽ được gọi thủ công từ cửa sổ Dấu nhắc lệnh hiện có).
TripeHound

@mathew tạm dừng là không cần thiết chạy từ dấu nhắc cmd. Trả lời là thể hiện kỹ thuật hơn là phù hợp với tất cả các kịch bản.
DavidPostill

1
@mathew mở một dấu nhắc cmd nơi bạn đã lưu tệp và nhập getos
DavidPostill

35

Tôi không thể tin điều này lâu và không có lệnh ver

C:\>ver

Microsoft Windows [Version 10.0.10586]

C:\>

Nó hoạt động trong các chuyển hướng để bạn có thể làm

ver | find "Version 10."

Nhưng bạn thường nên viết "cho phiên bản này và tất cả các phiên bản trong tương lai" để bạn tốt hơn nên liệt kê qua các phiên bản trước.


FYI vernào không làm việc trong PowerShell. Nó là CMDcụ thể.
Keltari

3
@Keltari Nhưng iex "ver"không!
Bến N

Đầu ra của vercó thể là một chút sai lệch. Trên máy tôi đang ngồi ngay bây giờ nó trở lại Microsoft Windows [Version 6.1.7601]. Nhưng tôi khá chắc chắn rằng nó chạy Windows 7, không phải Windows 6.
Philipp

@Philipp Có, Windows 7 và 8 là các bản phát hành bản vá "thực sự" của Vista, 6.1 và 6.2 tương ứng; các phiên bản chính là tiếp thị nghiêm ngặt. Tôi không biết liệu những thay đổi trong Windows 10 có đủ quan trọng để đảm bảo một phiên bản chính hay không. (Từ quan điểm kỹ thuật phần mềm cứng rắn, phiên bản lớn của bất kỳ phần mềm nên chỉ bao giờ được đụng để chỉ ra một đột phá tương thích ngược; nó sau đó phiên bản chính lớn là xấu Thật không may, bộ phận tiếp thị thích với số lượng lớn..)
Zwol

1
@Philipp - thật dễ dàng để tìm bản đồ từ số phiên bản đến tên tiếp thị, ví dụ: tại đây
davidbak

18

thông tin hệ thống

nhận được nhiều thông tin hữu ích như Hệ điều hành, Loại hệ thống (32/64 bit) và rất lâu:

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


Vâng, tôi cũng muốn giới thiệu systeminfo. Như bạn có thể thấy từ hình ảnh trên, nó sẽ hiển thị hệ điều hành của bạn cũng như các thông tin khác mà bạn có thể cần.
Matthew

3
Cảm ơn đã trả lời nhanh chóng. systeminfothực sự cung cấp thông tin mà tôi đang tìm kiếm (do đó là upvote), nhưng mất khá nhiều thời gian (trên PC của tôi mất hơn 15 giây). Do đó, tôi đã chọn wmicgiải pháp, được tìm thấy trong câu trả lời tiếp theo.
Dominique

1
Đây là những gì tôi yêu cầu mọi người chạy khi tôi cần tìm hiểu os / phiên bản họ đang chạy:cmd /c systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
Andrew Savinykh

1
Đầu ra của systeminfo phụ thuộc vào ngôn ngữ, vì vậy khá vô dụng nếu bạn muốn chạy nó ở quy mô lớn hơn
Stephan

1

Tôi không có bất kỳ kinh nghiệm nào với InstallAnywhere nhưng có hai tùy chọn để xem HĐH nào được cài đặt bằng dòng lệnh.

  1. Sử dụng Cmd

    systeminfo.exe
    

    Sử dụng lệnh systeminfo.exe, bạn có thể thấy kết quả dưới trường OS Name. Điều này có thể cung cấp cho bạn nhiều thông tin hơn bạn yêu cầu.

    Thông tin thêm về lệnh này có thể được tìm thấy trong Microsoft TechNet .

  2. Quyền hạn

    Ngoài ra, bạn có thể sử dụng tập lệnh Powershell sau đây sẽ trả về thông tin chính xác mà bạn muốn.

    Get-CimInstance Win32_OperatingSystem | Select-Object  Caption | ForEach{ $_.Caption }
    
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.