【问题标题】:Batch file to check if installed program is 64 bit or 32 bit?检查已安装程序是 64 位还是 32 位的批处理文件?
【发布时间】:2019-03-28 14:41:28
【问题描述】:

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

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

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

但情况并非总是如此......

例如 Google Chrome 总是显示在 Program Files x86 中

Chrome in Program Files x86

但是我电脑上的版本是64位的:

Chrome is actually 64 bit

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

【问题讨论】:

标签: batch-file program-files


【解决方案1】:

这个脚本可以解决问题: 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] }"

【讨论】:

  • 我无法理解如何运行该脚本。在 powershell 中打开脚本时,它会执行函数,然后返回到空提示
  • 谢谢,你能不能看看我最新的问题:stackoverflow.com/questions/55404578/…
  • 我正在寻找一些替代方法,我需要一些帮助来完成另一个方法
猜你喜欢
  • 2014-12-24
  • 1970-01-01
  • 2014-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-19
  • 2011-02-10
  • 1970-01-01
相关资源
最近更新 更多