En Windows hay una página de información de versión en una ventana de propiedades del archivo ejecutable / biblioteca. ¿Cómo ver esa información en Ubuntu?
En Windows hay una página de información de versión en una ventana de propiedades del archivo ejecutable / biblioteca. ¿Cómo ver esa información en Ubuntu?
Respuestas:
Probablemente necesite instalar un visor de archivos PE de terceros, como http://www.ucware.com/apev/index.htm
Estoy trabajando en una herramienta llamada pev para recuperar información sobre archivos PE en la línea de comando.
La versión del archivo se puede obtener con la -p
opción:
pev -p program.exe
pev está disponible en Ubuntu en el pev
paquete .
Del gnome-exe-thumbnailer
guión, sugerido por Scott Ritchie:
wrestool --extract --raw --type=version inputfile.exe
extrae la información de la versión, imprimiendo algunos datos binarios mezclados con texto UTF-16. El script lo convierte en texto legible al pasarlo por:
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'
El comando general es entonces 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
es proporcionado por el icoutil
paquete que está disponible como paquete estándar de Debian desde hace mucho tiempo.
| hexdump -C
icoutils
paquete.
Como alternativa al uso de tr y sed para analizar el resultado de la solución de @ mechanical-snail, aquí hay una cadena GNU y una versión GNU grep :
$ wrestool --extract --raw --type=version putty.exe | strings -el | grep Version -A 1
FileVersion
Release 0.65
ProductVersion
Release 0.65
ACTUALIZAR:
Otra alternativa es una versión reciente de exiftool de Phil Harvey (se basa en perl, fácil de instalar en Linux si su distribución no lo tiene, también disponible para Mac y Windows). Tiene muchas opciones de formato.
# Example with exiftool 10.47
$ exiftool -FileVersion -ProductVersion putty.exe
File Version : Release 0.67
Product Version : Release 0.67
libimage-exiftool-perl
?
Si instala el gnome-exe-thumbnailer
paquete, simplemente puede mirar el número de versión ennautilus
.
El código para hacer esto manualmente está disponible en /usr/bin/gnome-exe-thumbnailer.sh
Me acabo de enterar de cómo crear un buen dict de Python con la información (estaba mirando a mi alrededor y terminé aquí por alguna razón) y me gustaría presentar mi método aquí:
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)
Lo estoy licenciando bajo la Licencia MIT ... que cualquiera que sienta la necesidad de crear scripts útiles u otras cosas con él ...
Y vea Github Gists - spookyahell / peinfo.py para una implementación de ejemplo de este método en otro script ...