批量使用for / if / else语句

时间:2015-11-25 10:03:51

标签: batch-file

我经历了很多问题,但无法使我的代码工作。 只想使用if / else语句

我有三个产品,即GMAXGateway,PositionMessaging,RensburgGateway,我需要执行相同的操作,其余三个相同。

我试过if / else /但是没有成功

原始代码位于

之下
%3\mqsicreatebar.exe -data "%1" -b "%2" -cleanbuild -a %product%

我在下面尝试了,并在网站上提供了许多其他示例

For %%A IN (GMAXGateway,PositionMessaging,RensburgGateway)DO (%3\mqsicreatebar.exe -data "%1" -b "%2" -cleanbuild -a %product% -l integrationemm commonemm) For %%A IN (OneTISGateway,AccountMessaging,SecurityMessaging)DO (%3\mqsicreatebar.exe -data "%1" -b "%2" -cleanbuild -a %product%)

想知道如何修复它。

1 个答案:

答案 0 :(得分:0)

命令处理器不能容忍在下一行留空或放圆括号。

打开命令提示符窗口,执行命令git config --global alias.showtool '!showci () { rev=${1:-HEAD}; git difftool $rev~1 $rev; }; showci $1' 并阅读输出帮助,所有显示页面,而不仅仅是第一页。

for /?

产品字符串可以用空格或逗号分隔。

@echo off for %%A in (GMAXGateway PositionMessaging RensburgGateway) do ( "%~3\mqsicreatebar.exe" -data "%~1" -b "%~2" -cleanbuild -a %%A -l integrationemm commonemm ) for %%A in (OneTISGateway,AccountMessaging,SecurityMessaging) do "%~3\mqsicreatebar.exe" -data "%~1" -b "%~2" -cleanbuild -a %%A )之间必须有空格。

do标记 FOR 循环体的开头必须与(,循环变量,for,字符串列表和{{ 1}} indo之间的空格。

do标记身体的末端也应始终在一条单独的线上。

对于单个命令,可以省略(),并在(之后的同一行上编写命令,就像在第二个 FOR 循环上一样。但一般来说,代码在使用语法时更易读,如第一个 FOR 循环也适用于循环体中的单个命令。

当然循环变量必须在循环体内使用,而不是根本没有定义的变量。