2

我有一个名为 Formalbuild.bat 的批处理文件,它将采用名为 componentName 的参数名称。

例如。我将构建不同的组件,如下所示。

    Formalbuild.bat ServiceComponent
    Formalbuild.bat DatamodelComponent
    Formalbuild.bat 
                ...
                ...
    Formalbuild.bat SomeXYZComponent

是否可以创建组件名称数组并将一个组件传递给批处理文件以进行构建?

4

3 回答 3

4

由于只有组件名称发生变化,您可以使用for循环甚至更好的for/f循环。

FOR %%C in (ServiceComponent DatamodelComponent SomeXYZComponent ) do (
    call Formalbuild.bat %%C
)

如果组件列表很长,您也可以将它们分成多行

FOR %%C in (ServiceComponent 
DatamodelComponent
component3
...
component_n
SomeXYZComponent ) do (
    call Formalbuild.bat %%C
)
于 2012-06-29T07:32:31.960 回答
2

一个简单的计数循环还不够吗?

for /l %%x in (1,1,N) do call Formalbuild.bat Component%%x

替换N为那里的正确数字。

如果要在命令行上运行它,请使用

for /l %x in (1,1,N) do Formalbuild.bat Component%x

而且由于您的问题中有一个 PowerShell 标记(尽管您从未提及它):

1..N | %{Formalbuild.bat Component$_}

像往常一样,用实际值替换 N。

于 2012-06-29T06:31:37.160 回答
1
for %%a in (
    Component1
    Component2
    Component3
    ...
    ...
    ComponentN) do call :FormalBuild %%a

:FormalBuild
set THING_TO_BUILD=%1
REM call your build stuff here with %THING_TO_BUILD% identifying what you are building
于 2012-06-29T06:37:20.420 回答