bat 傳遞超過10個(gè)參數(shù)的情況

字號(hào):


    批處理文件中可引用的參數(shù)為%0~%9, %0是指批處理文件的本身,也可以說是一個(gè)外部命令;%1~%9是批處理參數(shù),也稱形參;而替換形參的實(shí)參若超過了批處理文件中所規(guī)定數(shù)值(9個(gè))且想在批處理文件中應(yīng)用這些實(shí)參的話,shift命令可以幫你實(shí)現(xiàn)!
    shift 命令:更改批處理文件中可替換參數(shù)的位置
    c代碼
    shift [/n]
    shift [/n]n 的取值是[0,8],且為整數(shù);[/n]為可選參數(shù),當(dāng)賦予n某個(gè)值時(shí),就意味著命令從第n個(gè)參數(shù)開始移位;當(dāng)n賦予的值為0,1或不帶有任何命令選項(xiàng)的 shift時(shí),則表示批處理文件中替換參數(shù)左移一個(gè)位置,后面的替換參數(shù)陸續(xù)填補(bǔ)上去,直至可替換參數(shù)為空。
    eg: 創(chuàng)建批處理文件d:\test.bat;c代碼
    代碼如下:
    @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
    echo %1 %2 %3 %4 %5 %6 %7 %8 %9
    shift /3
    echo %1 %2 %3 %4 %5 %6 %7 %8 %9
    shift /4
    echo %1 %2 %3 %4 %5 %6 %7 %8 %9
    shift /5
    echo %1 %2 %3 %4 %5 %6 %7 %8 %9
    shift /6
    echo %1 %2 %3 %4 %5 %6 %7 %8 %9
    shift /7
    echo %1 %2 %3 %4 %5 %6 %7 %8 %9
    shift /8
    echo %1 %2 %3 %4 %5 %6 %7 %8 %9
    pause 1>nul
    @echo offclsecho %1 %2 %3 %4 %5 %6 %7 %8 %9shift /0echo %1 %2 %3 %4 %5 %6 %7 %8 %9shift /1echo %1 %2 %3 %4 %5 %6 %7 %8 %9shift /2echo %1 %2 %3 %4 %5 %6 %7 %8 %9shift /3echo %1 %2 %3 %4 %5 %6 %7 %8 %9shift /4echo %1 %2 %3 %4 %5 %6 %7 %8 %9shift /5echo %1 %2 %3 %4 %5 %6 %7 %8 %9shift /6echo %1 %2 %3 %4 %5 %6 %7 %8 %9shift /7echo %1 %2 %3 %4 %5 %6 %7 %8 %9shift /8echo %1 %2 %3 %4 %5 %6 %7 %8 %9pause 1>nul
    然后在命令提示符d:\下輸入test 1 2 3 4 ......17顯示執(zhí)行結(jié)果,就知曉其中的規(guī)律啦!c代碼
    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