Есть ли инструмент командной строки для проверки 32-битного или 64-битного exe-файла?
да
c:\Program Files (x86)\GnuWin32\bin>file file.exe file.exe; PE32 executable for MS Windows (console) Intel 80386 32-bit c:\Program Files (x86)\GnuWin32\bin>cd ..\..\evernote\evernote c:\Program Files (x86)\Evernote\Evernote>file evernote.exe evernote.exe; PE32 executable for MS Windows (GUI) Intel 80386 32-bit c:\Program Files (x86)\Evernote\Evernote>cd c:\Program Files\Internet Explorer c:\Program Files\Internet Explorer>file iexplore.exe iexplore.exe; PE32+ executable for MS Windows (GUI) Mono/.Net assembly
Формат PE32 расшифровывается как Portable Executable 32-bit, а PE32 + - Portable Executable 64-bit.
См. Http://gnuwin32.sourceforge.net/packages/file.htm.
лайк:
is64 abc.exe
1
Не совсем так.
Вы можете использовать -b
опцию, чтобы исключить имя файла из выходных данных, тогда вам просто нужно некоторое кунг-фу командной строки, чтобы извлечь первое слово (PE32 или PE32 +), сравнить его с PE32 + и использовать это в вашем выражении «f».
Windows 10
В Windows 10, если у вас есть годовое обновление, если вы включаете оболочку bash, вы можете открыть оболочку bash и использовать file
команду, подобную этой
rgb@MYPCNAME:/mnt/c$ file install.exe install.exe: PE32 executable (GUI) Intel 80386, for MS Windows
или же
rgb@MYPCNAME:/mnt/c/Program Files/Internet Explorer$ file ieinstal.exe ieinstal.exe: PE32+ executable (GUI) x86-64, for MS Windows