天天看點

《轉》bat 傳遞超過10個參數的情況

批處理檔案中可引用的參數為%0~%9,

%0是指批處理檔案的本身,也可以說是一個外部指令;%1~%9是批處理參數,也稱形參;而替換形參的實參若超過了批處理檔案中所規定數值(9個)且想在批處理檔案中應用這些實參的話,shift指令可以幫你實作!

shift 指令:更改批處理檔案中可替換參數的位置

c代碼

    shift [/n]

n

的取值是[0,8],且為整數;[/n]為可選參數,當賦予n某個值時,就意味着指令從第n個參數開始移位;當n賦予的值為0,1或不帶有任何指令選項的

shift時,則表示批處理檔案中替換參數左移一個位置,後面的替換參數陸續填補上去,直至可替換參數為空。

eg:

建立批處理檔案d:\test.bat;

    @echo off 

    cls   

echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   

shift /0   

    echo   %1 %2 %3 %4 %5 %6

%7 %8 %9   

    shift /1 

    echo   %1 %2 %3 %4 %5 %6 %7 %8 %9 

    shift /2   

shift /3   

    shift /4 

    shift /5   

shift /6   

    shift /7 

    shift /8   

pause 1>nul  

然後在指令提示符d:\下輸入test 1 2 3 4

......17顯示執行結果,就知曉其中的規律啦!

    d:\>test 1 2 3 4 5

6 7 8 9 10 11 12 13 14 15 16 17   

    1 2 3 4 5 6 7 8 9 

    2 3 4 5 6 7 8 9 10 

    3 4 5 6 7 8 9 10 11 

    3 5 6 7 8 9 10 11 12 

    3 5 7 8 9 10 11 12 13 

    3 5 7 9 10 11 12 13 14 

    3 5 7 9 11 12 13 14 15 

    3 5 7 9 11 13 14 15 16 

    3 5 7 9 11 13 15 16 17 

    3 5 7 9 11 13 15 17