- Find windows OS version from command line
- Find OS Version and Service Pack number from CMD
- Check Windows version using WMIC command
- What version of Windows do I have?
- Checking your Windows version using a keyboard shortcut
- Windows: Command line to read version info of an executable file?
- 7 Answers 7
- how to tell what version of windows and/or cmd.exe a batch file is running on?
- 8 Answers 8
- How to get Windows version from command prompt or from PowerShell
- 6 Answers 6
Find windows OS version from command line
Windows has command line utilities that show us the version of the Windows OS running on the computer, including the service pack number. There are multiple CMD commands that help with finding this, you can pick the one that suits your need. Ver command can show you the OS version whereas Systeminfo command can additionally give you service pack, OS edition and build number etc.
Find OS Version and Service Pack number from CMD
As you can see above, ver command shows only OS version but not the service pack number. We can find service pack number as well with Systeminfo command. Systeminfo dumps lot of other information too, which we can filter out using findstr command.
This command works on XP, Vista and Windows 7 and on Server editions also. Find below example for Win7.
In case of Windows 7 SP1, the output would be slightly different as below.
If you want to print more details, then you can use just ‘OS’ in the findstr search pattern. See example below for Server 2008.
Check Windows version using WMIC command
Run the below WMIC command to get OS version and the service pack number.
Example on Windows 7:
If you want to find just the OS version, you can use ver command. Open command window and execute ver command. But note that this does not show service pack version.
This command does not show version on a Windows 7 system.
What version of Windows do I have?
As a Windows user, it’s important to know which operating system version you are using. You need this information when installing new programs and also for troubleshooting.
Microsoft provides details about the Windows version installed on your computer in several places in the operating system, e.g. in the Control Panel. There are three different ways of accessing the relevant system information. Let’s take a look at them now.
Checking your Windows version using a keyboard shortcut
The quickest way to find out your Windows version is using a keyboard shortcut. On newer systems, the steps are as follows:
- Simultaneously press the [Windows] key and the [Pause] key.
- A system information window will appear.
Under the heading “View basic information about your computer”, you will see the name of your operating system, e.g. Windows 10 Enterprise.
The window also contains an overview of the technical characteristics of your system, for example: processor architecture, installed memory (RAM) and system type (i.e. 32-bit or 64-bit). The next section shows the name of your computer and network domain settings. You can also see whether or not your Windows version is activated.
The system information window therefore contains all the information you need in order to install new programs.
However, it does not give you detailed information about your Windows version, such as the version number or the OS build number. You need this information if you want to check whether your operating system has all of the latest updates for example.
The [Windows] key + [Pause] key shortcut does not work on older Windows systems.
Windows: Command line to read version info of an executable file?
Does Windows have an executable that I can run in the command shell which returns the version number of an executable (.exe) file?
I see a lot of questions that show how to do it from different languages, and references to third party software to write it, but I can’t find a simple shell command to do it. Additional points if I don’t need to install anything.
It must be run as normal user. Not administrator.
7 Answers 7
You can use wmic to do it. And you can wrap it into a batch file
Save it as (example) getVersion.cmd and call as getVersion.cmd «c:\windows\system32\msiexec.exe»
edited to adapt to comments and not require administrator rights. In this case, an hybrid cmd/javascript file is used to query wmi. Same usage
If you are willing and able to use PowerShell, the following code will work. If you are on a supported Windows system, PowerShell will be available.
If you must run it in a cmd.exe shell, you could use:
This will give you only the file version:
and one way with makecab :
example output (it has a string version which is a small addition to wmic method 🙂 ):
also you can take a look at tooltipinfo.bat
filever c:\windows\system32\notepad.exe (the filever is preinstalled on every Windows OS).
filever.exe is in SUPPORT.CAB from the Windows 2003 Support tools, and maybe other places.
A method using VBScript and Scripting.FileSystemObject from a CMD script
A variant of the powershell method, if you are calling from a CMD script. Using FileVersionRaw instead of FileVersion, because FileVersion can have extra text decoration, but have to ToString() to get the expected format.
A Powershell from CMD method to compare versions, as that could be the reason for asking in the first place. Have to use %ErrorLevel%==x because ErrorLevel==x is actually greater or equal.
how to tell what version of windows and/or cmd.exe a batch file is running on?
How can one determine what version of Windows and/or cmd.exe a batch file is running on?
There is no cmd /version that I’ve been able to find and the results of SET in a command prompt session don’t give anything obviously unique (between XP and Win7 anyway).
8 Answers 8
The version of cmd.exe should actually be pretty irrelevant, unless you try to use features that didn’t exist before (in command.com for example). There is the pseudovariable
which holds the version of the command extensions which has been 2 for ages (at least back to NT 4, iirc).
But, back to the point: Running ver and parsing the version string might be your best bet:
you can use the «systeminfo» @ cmd.exe
I found a shorter way using ver as well:
Could be even shorter:
I found a shorter way using ver as well:
This will find XP, replace the string with your wanted versions
Type «ver» at a command prompt.
Next time around, since this isn’t really programming related but server or user related, you might try serverfault.com or superuser.com.
To find the windows version using WMIC you can use:
Maybe someone will need the following to determine the SKU (Win7). I’m using some of this script to pick the right OS and XML during sysprep. Hope it helps!
The internal command ver reports windows version number (which could have been learned by typing help at the command prompt).
There is a dynamic variable %CMDEXTVERSION% , but it hasn’t progressed in several releases so it’s only useful for delineating between Windows NT and Windows 2000 and newer. (Thanks @Joey, here.)
Here’s a batch to parse the output of ver for XP and newer, courtesy of Simon Sheppard:
And here’s my own fairly complete, largely academic, kick at the can which returns the parsed version number as environment variables:
How to get Windows version from command prompt or from PowerShell
But is there a way to get the exact version string using command line output similar to the one mentioned in the image?
The attached is the output of «winver» command from run. PS: I am looking for a batch or PowerShell command.
There are some alternates available to get the Windows version like this PowerShell command:
6 Answers 6
The following commands are is going to help you with that. If you need more information, just type in systeminfo:
The ver command shows something like this:
But in PowerShell (or Git Bash) you have to call it through the cmd command:
I found it somewhere, PowerShell:
To add to @Bonifacio ‘s answer:
Would be even better, because it returns only the ReleaseId value, which you could then pipe to a file. Especially useful if you have several hosts to deal with.
With system information you can only get the build with that value and go to Google to get the respective version.
However, one simple way is by searching the registry on the command line:
The reg query way suggested all output a little garbage.
Using a for loop with tokens will output clean information.
The tokens=3 refers to the third word from the original output.
You will need to double the % if running inside a bat file.
You can set the output as a variable by replacing echo %i with set build=%i
Also remember to escape ^ any special characters.
Lastly look at HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion for the string that has the required value. You may need to adjust the token count.