Get the "File version" of an exe file

13 views (last 30 days)
David Goldfisher
David Goldfisher on 28 Dec 2022
Edited: Wolfie on 27 Aug 2025
How can I get the "File version" or the "Product version" of an exe file?
i can see it if:
  1. i'm right click on the exe file.
  2. click on "Properties".
  3. click on TAB "Details".
  4. under the "Description" title are listed the parameters "File version" and "Product version".
I want to read these parameters using a Matlab command.
I saw a way to get the "Owner" of the file using the commands in the link below, but I couldn't figure out how to read the "File version".

Accepted Answer

Jan
Jan on 28 Dec 2022
Edited: Jan on 28 Dec 2022
Create a VBS script:
' File: FileProductVer.vbs
Set FSO=CreateObject("Scripting.FileSystemObject")
If Wscript.Arguments.Count > 0 then
sFullFileName = Wscript.Arguments(0)
If FSO.FileExists(sFullFileName) Then
Set objFolder = CreateObject("Shell.Application").Namespace(FSO.GetParentFolderName(sFullFileName))
Set objFolderItem = objFolder.ParseName(FSO.GetFileName(sFullFileName))
WScript.Echo "FileVersion : " & objFolderItem.ExtendedProperty("Fileversion")
WScript.Echo "ProductVersion: " & objFolderItem.ExtendedProperty("productversion")
Else
WScript.Echo "Error: missing file"
End If
Else
WScript.Echo "Error: missing input"
End If
Then call it from Matlab:
file = fullfile(matlabroot, 'bin', 'matlab.exe');
[status, result] = system(sprintf('cscript -nologo FileProductVer.vbs "%s"', file))
Output:
result =
'FileVersion : 1.0.0.1
ProductVersion: 9.5.0.878302
'
Parse this using strsplit and strtrim.
  1 Comment
David Goldfisher
David Goldfisher on 28 Dec 2022
Thank you very much, this helped me a lot!
For those who do not know how to work with the VBS script:
You can open a txt file and copy the VBS script into it.
Then rename the file to "FileProductVer.vbs"

Sign in to comment.

More Answers (1)

Wolfie
Wolfie on 27 Aug 2025
Edited: Wolfie on 27 Aug 2025
You can use .NET functionality directly. Here is the Microsoft documentation for the System.Diagnostics.FileVersionInfo function:
MATLAB code:
file = fullfile(matlabroot, 'bin', 'matlab.exe');
v = char( System.Diagnostics.FileVersionInfo.GetVersionInfo( file ).FileVersion );
Output:
v =
'24.2.0.2651190'
If you don't use the .FileVersion attribute then you'll get a structure with various fields including numeric major/minor versions.

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!