2011-10-13 28 views
0
for /f %%j in ('dir /b *.txt') do (
findstr /m /i "yoyoyo" %%j 
    if !ERRORLEVEL! == 0 (
     set post=yoyoyo 
     CALL postset.bat "yoyoyo" %%jj 
    ) 
) 

我想傳遞2個參數給一個CALL 第一個正在經歷但不是第二個。批處理腳本:我如何在CALL中設置第二個參數?

編輯我真正的問題是與其他批次,沒有使用%1和%2,我的不好!

+1

適合我這裏工作; postset.bat只包含'echo%*'時會發生什麼? –

回答

0

因爲你是不是傳遞變量%%Ĵ但%% JJ .......

由於這不存在空值(無)將被傳遞給蝙蝠-文件。

更新:

如預期的ERRORLEVEL測試不工作,由於變擴建工程,因此蝙蝠的文件從來沒有在所有調用方式。

代替使用if errorlevel 1

+1

但即使只有一個j,這也不是問題,因爲%%參數只接受一個字符變量名稱。第二個j應該附加到擴展參數 – jeb

+0

@Jeb:你說得對。我的錯。 – Tonny

2

該代碼適用於我。當將2個或更多參數傳遞給postset.bat時,我可以從postset.bat打印%1直到%9(如果設置)。

+0

你是對的,它通過好...我的錯誤是在其他.bat其實...我沒有使用%1%2 ...(n00b我) – Spaceballs

相關問題