2012-06-29 119 views
2

我有一個名爲Formalbuild.bat的批處理文件,它將採用名爲componentName的參數名稱。如何將參數數組傳遞給批處理文件?

例如,我將構建如下的不同組件。

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

是否可以創建組件名稱的數組並將逐個組件傳遞給批量文件以進行構建?

回答

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 
) 
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的實際值,像往常一樣。

+0

我已經更新了我的問題,因爲它是給假設我可以遍歷通過改變最後一位數字。 – Samselvaprabu

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 
相關問題