1. 程式人生 > >.bat批處理(二):%0 %1——給批處理指令碼傳遞引數

.bat批處理(二):%0 %1——給批處理指令碼傳遞引數

前言

初次接觸批處理指令碼覺得有點意思,所以決定寫一個小功能試驗一下,誰知剛一開始就發現遇到了麻煩,本想著使用引數來控制程式的執行結果,可是引數怎麼傳進去呢,於是研究了一番,最終發現這個引數的傳遞與main函式居然非常相似,我們一起來寫個小例子試驗一下。

內容

  • 批處理檔案中可引用的引數為%0~%9,%0是指批處理檔案的本身,也可以說是一個外部命令;%1~%9是批處理引數,也稱形參,我們來新建一個檔案,檔案命名為test_argv.bat,檔案內容如下:
@echo off

echo param[0] = %0
echo param[1] = %1
echo param[2] = %2
echo param[3] = %3 echo param[4] = %4 echo param[5] = %5 echo ... pause
  • 在控制檯執行,並且處傳入引數,執行結果如下:

F:\batTool>test_argv.bat 1 game test what
param[0] = test_argv.bat
param[1] = 1
param[2] = game
param[3] = test
param[4] = what
param[5] =

請按任意鍵繼續…

總結

  • 如果不借助其他其他命令,批處理做多接收9個額外的引數。
  • 使用shift命令可以對引數進行偏移,從而取到更多的引數
  • 如果使用的某個引數沒有傳遞進來,則該變數為空,如例子中的%5