我正在尝试编写脚本来提取文件的版本和描述名称,就像它们在“控制面板”(“程序和功能”)中所做的一样
我尝试使用某些Python库(例如win32com.client和Dispatch)来获得结果。它们只能在某些文件上工作,例如Google Chrome.exe。
def get_version(filename):
parser = Dispatch("Scripting.FileSystemObject")
version = parser.GetFileVersion(filename)
return version
def get_description(filename):
sh=win32com.client.gencache.EnsureDispatch('Shell.Application',0)
file = Path(filename)
...
if fdExist == 1:
for colnum in range(len(columns)):
colval=ns.GetDetailsOf(item, colnum)
if colval:
if str(columns[colnum]) == 'File description':
return (str(colval))
程序可以输出: 说明名称:谷歌浏览器 ,版本号:74.0.3729.157
如果我将路径指向chrome.exe,但如果将其指向SQLiteStudio,它将输出: 描述名称:SQLiteStudio ,版本号:
我知道在SQLiteStudio的“属性>详细信息”中,该版本为空。但是,在控制面板(程序和功能)中,他们设法显示了版本。
我想知道是否仍然可以检索版本号?
非常感谢您!