我在使用IF ELSE
运行批处理文件时遇到了一些问题我有一个usb调制解调器我试图在几台具有相同脚本的计算机上启动,问题是一些是32位系统,一些是64,我试图检测系统类型并运行正确的启动命令。这是解决这个问题的最好方法吗?还是可能有另一种方式?
到目前为止,这就是我所拥有的
IF EXIST "C:\Program Files (x86)\" (goto USE64) ELSE (goto USE32)
:USE32
START "title" /d "C:\Program Files\MeditelInternet\" MeditelInternet.exe
goto :eof
:USE64
START "title" /d "C:\Program Files (x86)\MeditelInternet\" MeditelInternet.exe
当我单独运行启动命令时,调制解调器启动没有问题,但是如果这样做对我不起作用:(
答案 0 :(得分:2)
系统变量%PROCESSOR_ARCHITECTURE%
是您的朋友:)它可以包含值AMD64
,IA64
或x86
。
所以你可以修改你的代码:
IF %PROCESSOR_ARCHITECTURE% == x86
(
START "title" /d "C:\Program Files\MeditelInternet\MeditelInternet.exe"
) ELSE (
START "title" /d "C:\Program Files (x86)\MeditelInternet\MeditelInternet.exe"
)