批处理文件以检查安装的程序是64位还是32位?

时间:2019-03-28 14:41:29

标签: batch-file program-files

我如何创建一个批处理文件来告诉您已安装的程序(.exe)是32位还是64位?

有时您可以根据program.exe文件所在的文件夹来判断。

如果安装的程序是32位,它将显示在“程序文件(x86)”文件夹中。如果文件是64位,它将显示在Program Files文件夹中。

但这并非总是如此...

例如,谷歌浏览器始终显示在程序文件x86中

Chrome in Program Files x86

但是我计算机上的版本是64位:

Chrome is actually 64 bit

例如,如何引用chrome.exe并批量告诉我它是64位还是32位?

1 个答案:

答案 0 :(得分:0)

此脚本可以解决问题: Identify 16-bit, 32-bit and 64-bit executables with PowerShell

如果您从Powershell中调用此 : “源”(又名)运行一次脚本以将该功能存储到内存中,然后就可以使用它了。

    . .\Get-ExecutableType.ps1 #sources the script
    Get-ExecutableType -Path C:\Windows\System32\notepad.exe #runs the function

要从批处理文件中将该脚本称为“简单方法” ,请将其添加到脚本的最后一个大括号之后:

    Get-ExecutableType -Path $args[0]

并这样称呼它:

powershell -command "& .\Get-ExecutableType.ps1 X:\Your.exe"

其他选项:

您还可以使用添加的“批处理行”从powershell调用它,而无需先获取文件。

您也可以使用愚蠢的powershell语法来调用该函数,而无需先获取文件。 powershell.exe -c“&{[script_file] [params]; [function_name]}”