Есть ли способ получить версию и описание файла, как, например, в панели управления («Программы и компоненты») в python? - PullRequest
1 голос
/ 21 мая 2019

Я пытаюсь написать скрипт для извлечения версии файла и имени описания, например, что они сделали на Панели управления (Программы и компоненты)

Я пытался использовать некоторые библиотеки Python, такие как win32com.клиент и диспетчеризация, чтобы получить результат.Они могут работать только с некоторыми файлами, такими как 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))

Программа способнаВывести: Описание Имя: Google Chrome, Номер версии: 74.0.3729.157

Если я укажу путь к chrome.exe, но если я укажу его на SQLiteStudio, он выведет: Описание Имя: SQLiteStudio, Номер версии:

Я понимаю, что в SQLiteStudio, "Свойства> Детали", версия была пустой.Однако в Панели управления (Программы и компоненты) им удалось отобразить версию.

Я хочу знать, есть ли способ получить номер версии?

Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...