Я пытаюсь написать скрипт для извлечения версии файла и имени описания, например, что они сделали на Панели управления (Программы и компоненты)
Я пытался использовать некоторые библиотеки 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, "Свойства> Детали", версия была пустой.Однако в Панели управления (Программы и компоненты) им удалось отобразить версию.
Я хочу знать, есть ли способ получить номер версии?
Большое спасибо!