Sous Windows, il existe une page d'informations sur la version dans une fenêtre de propriétés de fichier exécutable / bibliothèque. Comment afficher ces informations dans Ubuntu?
Sous Windows, il existe une page d'informations sur la version dans une fenêtre de propriétés de fichier exécutable / bibliothèque. Comment afficher ces informations dans Ubuntu?
Réponses:
Vous devrez probablement installer un visualiseur de fichiers PE tiers, tel que http://www.ucware.com/apev/index.htm
Je travaille dans un outil appelé pev pour récupérer des informations sur les fichiers PE sur la ligne de commande.
La version du fichier peut être récupérée avec l' -p
option:
pev -p program.exe
pev est disponible sur Ubuntu dans le pev
package .
D'après le gnome-exe-thumbnailer
script, suggéré par Scott Ritchie:
wrestool --extract --raw --type=version inputfile.exe
extrait les informations de version, imprimant des données binaires mélangées avec du texte UTF-16. Le script le convertit en texte lisible en le passant par:
tr '\0, ' '\t.\0' \
| sed 's/\t\t/_/g' \
| tr -c -d '[:print:]' \
| sed -r -n 's/.*Version[^0-9]*([0-9]+\.[0-9]+(\.[0-9][0-9]?)?).*/\1/p'
La commande globale est alors wrestool --extract --raw --type=version inputfile.exe | tr '\0, ' '\t.\0' | sed 's/\t\t/_/g' | tr -c -d '[:print:]' | sed -r -n 's/.*Version[^0-9]*([0-9]+\.[0-9]+(\.[0-9][0-9]?)?).*/\1/p'
.
wrestool
est fourni par le icoutil
paquet qui est disponible en tant que paquet Debian standard depuis le début.
| hexdump -C
icoutils
paquet.
Comme alternative à l'utilisation de tr et sed pour analyser la sortie de la solution de @ mechanical-snail, voici une version de GNU strings et GNU grep :
$ wrestool --extract --raw --type=version putty.exe | strings -el | grep Version -A 1
FileVersion
Release 0.65
ProductVersion
Release 0.65
MISE À JOUR:
Une autre alternative est une version récente d' exiftool de Phil Harvey (elle est basée sur perl, facile à installer sur Linux si votre distribution ne l'a pas, également disponible pour Mac et Windows). Il a beaucoup d'options de formatage.
# Example with exiftool 10.47
$ exiftool -FileVersion -ProductVersion putty.exe
File Version : Release 0.67
Product Version : Release 0.67
libimage-exiftool-perl
?
Si vous installez le gnome-exe-thumbnailer
package, vous pouvez simplement regarder le numéro de version dans nautilus
.
Le code pour le faire manuellement est disponible dans /usr/bin/gnome-exe-thumbnailer.sh
Je viens de découvrir comment créer un bon dicton en python avec les informations (je regardais autour de moi et je me suis retrouvé ici pour une raison quelconque) et je voudrais présenter ma méthode ici:
Github Gists - spookyahell / exe2version_info.py
'''Licensed under the MIT License :)'''
import pefile
import pprint
pe = pefile.PE('example.exe')
string_version_info = {}
for fileinfo in pe.FileInfo[0]:
if fileinfo.Key.decode() == 'StringFileInfo':
for st in fileinfo.StringTable:
for entry in st.entries.items():
string_version_info[entry[0].decode()] = entry[1].decode()
pprint.pprint(string_version_info)
Je le concède sous licence MIT ... que quiconque ressent le besoin de créer des scripts utiles ou d'autres choses avec lui ...
Et voir Github Gists - spookyahell / peinfo.py pour un exemple d'implémentation de cette méthode dans un autre script ...