2

Formalbuild.batというバッチファイルがあります。componentNameというパラメータ名を取ります。

例:以下のようにさまざまなコンポーネントを作成します。

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

コンポーネント名の配列を作成し、コンポーネントを1つずつバッチファイルに渡してビルドすることは可能ですか?

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 に答える