在 Windows 7 中,应用程序应安装到“Program Files”或“Program Files (x86)”,具体取决于它们是 64 位还是 32 位(分别按照这一页)。
有没有简单的方法来检查系统上的所有应用程序是否都在正确的 Program Files 目录中?
换句话说,有没有简单的方法可以在“Program Files”中检测出 32 位应用程序,在“Program Files (x86)”中检测出 64 位应用程序?
答案1
您可以使用文件命令行实用程序。基本上,您在终端中调用该命令并将文件名作为参数。像这样:
$ file "Program Files (x86)/QuickTime/QTSystem/ExportController.exe"
Program Files (x86)/QuickTime/QTSystem/ExportController.exe: PE32 executable (GUI) Intel 80386, for MS Windows
$ file Program\ Files/CCleaner/*exe
Program Files/CCleaner/CCleaner64.exe: PE32+ executable (GUI) x86-64, for MS Windows
Program Files/CCleaner/CCleaner.exe: PE32 executable (GUI) Intel 80386, for MS Windows
Program Files/CCleaner/uninst.exe: PE32 executable (GUI) Intel 80386, for MS Windows, Nullsoft Installer self-extracting archive
如果你了解一些 Python 甚至 Java,那么在应用程序内部运行命令并测试给定的二进制文件是否相对容易这或者那。
显然,这里有一个 Windows 端口: http://gnuwin32.sourceforge.net/packages/file.htm
当然,另一种选择是赛格威,同时还具有 bash shell 的额外优势。