我正在编写一个批处理脚本来安装依赖于 32 位或 64 位的软件。我正在使用“wmic os get osarchitecture”来确定 Windows 操作系统的体系结构。
我想要做的是将 WMIC 输出到基于输出的命名文本文件。例如,如果结果是 32 位操作系统,那么它将创建一个名为 32bit.txt 的文本文件,或者如果它是 64 位操作系统,它将创建一个名为 64bit.txt 的文本文件。
这样,如果 32bit.txt 存在,我就可以让批处理脚本运行 32 位安装程序,如果 64bit.txt 存在,我就可以让批处理脚本运行 64 位安装程序。
答案1
环境PROCESSOR_ARCHITECTURE
变量可以为你提供与你想要的类似的内容。它将包含x86
,AMD64
,ARM64
或者IA64
,您可以将其附加到文件名中。
例如:
wmic os get osarchitecture >%PROCESSOR_ARCHITECTURE%.txt
您也可以直接在批处理脚本中使用它来调用安装程序。例如,我通常为批处理安装使用以下文件结构:
root
x64
installer.exe
x86
installer.exe
批处理文件将包含类似以下内容:
IF "%PROCESSOR_ARCHITECTURE%"=="x86" (set bit=x86) else (set bit=x64)
"%bit%\installer.exe"
如果您更喜欢使用 WMIC,则可以不使用文件来实现此目的:
for /f "tokens=1,2 delims=-" %%a in ('wmic os get osarchitecture ^| find "bit"') do set bit=%%a%%b
bit
将包含32bit
或64bit
。