命令提示字元 18:迴圈入門

最後的最後,終於到這個最難的這個:

for

應該不會再被這麼長的說嚇到了吧?「for」重要到一定作用的批次檔一定會有它的存在,它的功用多到只能理解,不能用一二句說明結束。一開始要先說明基本結構:

for %i in (a b c) do echo %i

上面用中文解釋是:

「把括弧裡面的『a』、『b』、『c』分別用『%i』丟到後面的指令去執行。」

其中有很多細節要說:
  1. 所有單字的順序不能任意變換,如「%i」要在「in」之前等等。
  2. 在「for」中的變數只有前面一個百分比「%」,跟一般變數不同。
  3. 變數可以用「%A」到「%z」共五十二個,夠用了。
  4. 中間的括弧不能省略。
  5. 存成批次檔時變數要用二個百分比,「%i」要改「%%i」。
上面的每點都很重要,尤其最後一點很容易被忽略。平常都是用「%i」開始比較多,括弧也很常見:

for %i in (a b c) do (
echo %i
)

當然,不使用變數「%i」在後面括弧指令中也沒有問題。



參數「/l」可用來建立一個數列:

for /l %i in (1,1,2) do echo %i

從 1 開始,每次加 1 ,一直加到 2 ,並且丟到後面去執行。



「for」可以做成巢狀,範例如下:

for %i in (a) do for %j in (b) do echo %i%j

不難理解。



中間有二個參數「/d」「/r」跳過了,因為全部可以用「/f」取代,因為比較好記,可以變化的也比較多。這章的迴圈威力還沒有出來,因為要作基本的介紹;下一章就可以說是這整個教學的核心了,不是那麼好理解,但卻是大多數批次檔都會出現的指令。



下一章:迴圈進階




  • 2012-09-11 初次發佈。
  • 2017-07-12 更新成 Windows 10 的版本。

沒有留言:

張貼留言

定時會整理。