是否可以像控制面板(程序和功能)在python中那样检索文件的版本和描述名称?

时间:2019-05-21 04:22:29

标签: python windows

我正在尝试编写脚本来提取文件的版本和描述名称,就像它们在“控制面板”(“程序和功能”)中所做的一样

我尝试使用某些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的“属性>详细信息”中,该版本为空。但是,在控制面板(程序和功能)中,他们设法显示了版本。

我想知道是否仍然可以检索版本号?

非常感谢您!

0 个答案:

没有答案