简体   繁体   中英

How to get chrome version using command prompt in windows

Is it possible to get version installed chrome version using command prompt in windows?

Tried,

 "C:\Program Files\Google\Chrome\Application\chrome.exe" -version
 "C:\Program Files\Google\Chrome\Application\chrome.exe" --version
 "C:\Program Files\Google\Chrome\Application\chrome.exe" -product-version
 "C:\Program Files\Google\Chrome\Application\chrome.exe" --product-version

When i do that, a browser instance is opening. What flag should I be using to get the version.

I am using Windows 7. Google Chrome version is 67.0.3396.87.

Thanks in advance

As of today user4851's is still working. I took a look at his linked bug report and the proposed work around did not work for me anymore.

Anways a new hkey is present in my directory which allows you to query the chrome version without being aware of the actual installation location:

reg query "HKEY_CURRENT_USER\Software\Google\Chrome\BLBeacon" /v version

There's a bug filed about this: https://bugs.chromium.org/p/chromium/issues/detail?id=158372

Original Answer (but see the update below)

What works for me is

wmic datafile where name="C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" get Version /value

It prints

Version=67.0.3396.99

surrounded by some blank lines.

There are some other suggestions in the bug comments, like querying the registry.

Update

Someone from the Chromium team posted this "totally unsupported" batch file in the bug comment thread:

@ECHO OFF

:: Look for machine-wide Chrome installs (stable, Beta, and Dev).
:: Get the name, running version (if an update is pending relaunch), and
:: installed version of each.
FOR %%A IN (
    {8A69D345-D564-463c-AFF1-A69D9E530F96},
    {8237E44A-0054-442C-B6B6-EA0509993955},
    {401C381F-E0DE-4B85-8BD8-3F3F14FBDA57}) DO (
  reg query HKLM\Software\Google\Update\Clients\%%A /v name /reg:32 2> NUL
  reg query HKLM\Software\Google\Update\Clients\%%A /v opv /reg:32 2> NUL
  reg query HKLM\Software\Google\Update\Clients\%%A /v pv /reg:32 2> NUL
)

:: Look for Chrome installs in the current user's %LOCALAPPDATA% directory
:: (stable, Beta, Dev, and canary).
:: Get the name, running version (if an update is pending relaunch), and
:: installed version of each.
FOR %%A IN (
    {8A69D345-D564-463c-AFF1-A69D9E530F96},
    {8237E44A-0054-442C-B6B6-EA0509993955},
    {401C381F-E0DE-4B85-8BD8-3F3F14FBDA57},
    {4ea16ac7-fd5a-47c3-875b-dbf4a2008c20}) DO (
  reg query HKCU\Software\Google\Update\Clients\%%A /v name /reg:32 2> NUL
  reg query HKCU\Software\Google\Update\Clients\%%A /v opv /reg:32 2> NUL
  reg query HKCU\Software\Google\Update\Clients\%%A /v pv /reg:32 2> NUL
)

That should probably be seen as the right way to go for the time being.

I tried Kilian's answer, however in my case I was running it against a bunch of machines remotely via a service, so I don't think HKEY_CURRENT_USER was valid:

ERROR: The system was unable to find the specified registry key or value.

Assuming you know where the exe is, you can try a different approach and read the version property of the exe file:

# Older versions install to the 32-bit directory
(Get-Item "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe").VersionInfo

# Newer versions use the 64-bit directory
(Get-Item "C:\Program Files\Google\Chrome\Application\chrome.exe").VersionInfo

ProductVersion   FileVersion      FileName
--------------   -----------      --------
76.0.3809.100    76.0.3809.100    C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

Using only commandline utils

dir /B/AD "C:\Program Files (x86)\Google\Chrome\Application\"|findstr /R /C:"^[0-9].*\..*[0-9]$"
78.0.3904.97

List only directories /AD within the Chrome application folder in short form /B .

findstr /R /C:"..." applies the following regex to the list of directories. The regex matches every foldername starting with a digit ^[0-9] and ending with ad digit [0-9]$ . Between the first and last digit there are any characters .* allowed but at least one dot should appear \\.

user1425134's solution worked for me, but if you are allowed to assume that Chrome is part of %PATH% (if you can open Command Prompt and type chrome to start the browser), then it can be greatly simplified.

From Powershell you can type (Get-Command "chrome").Version.ToString()

Or from cmd.exe you can type powershell -c "(Get-Command "chrome").Version.ToString()"

(same for Chromium, just replace the command name)

I was able to use the rust kitty's solution without having chrome on my path, as:

  • from PowerShell:
(Get-Command C:\Program Files (x86)\Google\Chrome\Application\chrome.exe').Version.ToString()
  • from cmd:
powershell -command "(Get-Command C:\Program Files (x86)\Google\Chrome\Application\chrome.exe').Version.ToString()"

Via Powershell the command is -

Get-WmiObject -Class Win32_Product | ? {$_.name -eq 'Google Chrome'} |select Name,Version

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM