In Windows gibt es eine Seite mit Versionsinformationen in einem Fenster mit Eigenschaften für ausführbare Dateien / Bibliotheksdateien. Wie kann ich diese Informationen in Ubuntu anzeigen?
In Windows gibt es eine Seite mit Versionsinformationen in einem Fenster mit Eigenschaften für ausführbare Dateien / Bibliotheksdateien. Wie kann ich diese Informationen in Ubuntu anzeigen?
Antworten:
Möglicherweise müssen Sie einen PE-Datei-Viewer eines Drittanbieters installieren, z. B. http://www.ucware.com/apev/index.htm
Ich arbeite in einem Tool namens pev , um Informationen über PE-Dateien in der Befehlszeile abzurufen.
Die Dateiversion kann mit folgender -p
Option abgerufen werden :
pev -p program.exe
pev ist auf Ubuntu im pev
Paket enthalten .
Aus dem gnome-exe-thumbnailer
von Scott Ritchie vorgeschlagenen Drehbuch:
wrestool --extract --raw --type=version inputfile.exe
extrahiert die Versionsinformationen und druckt einige Binärdaten, die mit UTF-16-Text gemischt sind. Das Skript konvertiert ihn in lesbaren Text, indem es ihn weiterleitet:
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'
Der Gesamtbefehl lautet dann 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
wird von dem icoutil
Paket bereitgestellt, das seit jeher als Standard-Debian-Paket verfügbar ist.
| hexdump -C
icoutils
Paket enthalten.
Als Alternative zur Verwendung von tr und sed zum Parsen der Ausgabe der @ mechanical-snail-Lösung finden Sie hier eine GNU- Strings- und eine GNU- grep- Version:
$ wrestool --extract --raw --type=version putty.exe | strings -el | grep Version -A 1
FileVersion
Release 0.65
ProductVersion
Release 0.65
AKTUALISIEREN:
Eine andere Alternative ist eine neuere Version von exiftool von Phil Harvey (sie basiert auf Perl und ist unter Linux einfach zu installieren, wenn Ihre Distribution es nicht hat, auch für Mac und Windows verfügbar). Es hat viele Formatierungsoptionen.
# Example with exiftool 10.47
$ exiftool -FileVersion -ProductVersion putty.exe
File Version : Release 0.67
Product Version : Release 0.67
libimage-exiftool-perl
?
Wenn Sie das gnome-exe-thumbnailer
Paket installieren , können Sie sich einfach die Versionsnummer in ansehen nautilus
.
Der Code für die manuelle Ausführung ist in verfügbar /usr/bin/gnome-exe-thumbnailer.sh
Ich habe gerade selbst herausgefunden, wie ich mit den Informationen ein schönes Python-Diktat erstellen kann (ich habe mich umgesehen und bin aus irgendeinem Grund hier gelandet ) und möchte meine Methode hier vorstellen :
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)
Ich lizenziere es unter der MIT-Lizenz ... kann jeder, der das Bedürfnis hat, nützliche Skripte oder andere Dinge damit zu erstellen ...
Eine Beispielimplementierung dieser Methode in einem anderen Skript finden Sie unter Github Gists - spookyahell / peinfo.py ...