Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何在批处理文件中使用IF EXISTS和ELSE?_Batch File_If Statement - Fatal编程技术网

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

Batch file 如何在批处理文件中使用IF EXISTS和ELSE?,batch-file,if-statement,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\MeditelIn

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

当我自己运行start命令时,调制解调器启动没有问题,但如果其他命令对我不起作用:(

系统变量
%PROCESSOR\u 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"
)

这是有道理的!但我想我还是错过了一些东西。。。如果%PROCESSOR_ARCHITECTURE%==x86(启动“title”/d“C:\Program Files(x86)\MeditelInternet\”MeditelInternet.exe)或者(启动“title”/d“C:\Program Files\MeditelInternet\”MeditelInternet.exe)是,则您是。您应该在exe中添加第二个引号,而不是放在exe的路径后面<代码>如果处理器体系结构%==x86(开始“title”/d“C:\ProgramFiles(x86)\MeditelInternet\MeditelInternet.exe”)而不是“如果处理器体系结构%==x86(开始“title”/d“C:\Program Files(x86)\MeditelInternet\“MeditelInternet.exe”`。我已经编辑了我的答案。