Windows'ta, yürütülebilir bir / kütüphane dosyası özellikleri penceresinde bir sürüm bilgisi sayfası vardır. Ubuntu'da bu bilgiyi nasıl görebilirim?
Windows'ta, yürütülebilir bir / kütüphane dosyası özellikleri penceresinde bir sürüm bilgisi sayfası vardır. Ubuntu'da bu bilgiyi nasıl görebilirim?
Yanıtlar:
Muhtemelen http://www.ucware.com/apev/index.htm gibi bir üçüncü taraf PE dosya görüntüleyicisi kurmanız gerekir.
Komut satırında PE dosyaları hakkında bilgi almak için pev adlı bir araçta çalışıyorum .
Dosya sürümü -p
seçeneği ile getirilebilir :
pev -p program.exe
PEV de Ubuntu geçerli pev
paketin .
Gönderen gnome-exe-thumbnailer
senaryo Scott Ritchie tarafından önerilen:
wrestool --extract --raw --type=version inputfile.exe
UTF-16 metni ile karıştırılan bazı ikili verileri yazdırarak sürüm bilgilerini çıkarır. Komut dosyası, aşağıdakileri ileterek okunabilir metne dönüştürür:
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'
Genel komut o zaman 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
, icoutil
geri döndüğünden beri standart bir Debian paketi olarak mevcut olan paket tarafından sağlanmaktadır .
| hexdump -C
icoutils
paketin içindedir .
@ Mekanik-salyangoz çözümünün çıktısını ayrıştırmak için tr ve sed kullanmaya alternatif olarak , burada bir GNU dizesi ve GNU grep sürümü:
$ wrestool --extract --raw --type=version putty.exe | strings -el | grep Version -A 1
FileVersion
Release 0.65
ProductVersion
Release 0.65
GÜNCELLEŞTİRME:
Diğer bir alternatif ise Philififif tarafından sunulan exiftool'un son sürümüdür ( dağıtımınız Mac, Windows için de mevcut değilse, Linux'ta kurulumu kolaydır). Birçok biçimlendirme seçeneğine sahiptir.
# Example with exiftool 10.47
$ exiftool -FileVersion -ProductVersion putty.exe
File Version : Release 0.67
Product Version : Release 0.67
libimage-exiftool-perl
?
Eğer yüklerseniz gnome-exe-thumbnailer
paketi, sadece sürüm numarasına bakabilirsiniz nautilus
.
Bunu el ile yapmak için kod /usr/bin/gnome-exe-thumbnailer.sh
Bilgi ile güzel bir piton diktiği yaratacağımı öğrendim (kendime baktım ve bir sebepten buraya geldim) ve yöntemimi burada sunmak istiyorum:
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)
Onu MIT Lisansı altında lisanslıyorum ... faydalı senaryolar veya onunla başka şeyler oluşturma ihtiyacı duyan herkes olabilir ...
Ve Github Gists'e bakın - spookyahell / peinfo.py bu yöntemin başka bir betiğe uygulanması için