dos/bat批處理教程——第三部分:批處理與變量

第三部分:批處理與變量 在批處理中適當的引用變量將會使你所編制的程序應用面更廣。批處理每次能處理的變量從%0~%9共10個。其中%0默認給批處理的文件名使用。除非在使用SHIFT命令後%0才能被%1所替代。引用shift命令的例子若是把%1前面多加上一個%0那麼結果以下: C::\>SHIFT.BAT 1 2 3 4 5 6 7 8 9 10 11 SHIFT.BAT 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 11 系統是如何區分每一個變量的呢,系統區分變量的規則爲字符串中間的空格,即只要發現空格就把空格前面的字符看成一個變量而空格後面的字符則做爲另外一個變量。若是你的變量是一個當中包含空格的長目錄名這時候你須要用上一節特殊符號8中所用的引號將他圈起來。例: 批處理內容爲: ECHO %1 ECHO %2 ECHO %3 輸入命令: C:\>TEST 「Program Files」 Program Files Program Files Program Files 在一個複雜的批處理中又可能同時使用的變量會超過10個這時候會和系統的規則想衝突那麼這個問題怎麼解決呢?在系統中還有一種變量稱之爲環境變量(使用SET命令能夠查看當前系統的環境變量)如當前系統目錄是%windir%或%SystemRoot%等。當同時使用的參數超過10個的時候,咱們能夠把某些在後面的程序中還要調用的變量保存爲環境變量。具體用法如 SET A=%1 這樣咱們就命名了一個新的環境變量A 在調用變量A的時候要%A%這樣調用,環境變量不受SHIFT命令影響。若是要改變一個環境變量須要從新對其設置才能改變。固然也能夠進行變量與變量之間的傳遞來達到目的。下面咱們來看一個例子,批處理以下: ECHO OFF SET PASS=%1 SHIFT SET PASS1=%1 SHIFT ECHO %PASS% %PASS1% %1 %2 %3 %4 %5 %6 %7 %8 %9 SHIFT ECHO %PASS% %PASS1% %9 SET PASS=%PASS1% 變量的傳遞 SET PASS1=%9 SHIFT ECHO %PASS% %PASS1% %9 使用命令:C:\>TEST A B 3 4 5 6 7 8 9 10 K L A B 3 4 5 6 7 8 9 10 K 注意:這一行顯示了11個變量 A B L 在使用了3次SHIFT以後%9變成了L B L 變量的傳遞後的結果
相關文章
相關標籤/搜索