如何在批处理文件中使用IF EXISTS和ELSE?

时间:2015-03-20 11:51:39

标签: batch-file if-statement

我在使用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

当我单独运行启动命令时,调制解调器启动没有问题,但是如果这样做对我不起作用:(

1 个答案:

答案 0 :(得分:2)

系统变量%PROCESSOR_ARCHITECTURE%是您的朋友:)它可以包含值AMD64IA64x86

所以你可以修改你的代码:

IF %PROCESSOR_ARCHITECTURE% == x86
(
    START "title" /d "C:\Program Files\MeditelInternet\MeditelInternet.exe"
) ELSE (
    START "title" /d "C:\Program Files (x86)\MeditelInternet\MeditelInternet.exe"
)