Get the "File version" of an exe file

13 visualizaciones (últimos 30 días)
David Goldfisher
David Goldfisher el 28 de Dic. de 2022
Editada: Wolfie el 27 de Ag. de 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".

Respuesta aceptada

Jan
Jan el 28 de Dic. de 2022
Editada: Jan el 28 de Dic. de 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 comentario
David Goldfisher
David Goldfisher el 28 de Dic. de 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"

Iniciar sesión para comentar.

Más respuestas (1)

Wolfie
Wolfie el 27 de Ag. de 2025
Editada: Wolfie el 27 de Ag. de 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.

Categorías

Más información sobre Call Web Services from MATLAB Using HTTP en Help Center y File Exchange.

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by