Windows bat腳本之for循環用法

這篇文章主要介紹了Windows bat腳本之for循環用法詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑑價值

Windows bat腳本的for語句基本形態如下:

在cmd窗口中:for %I in (command1) do command2在批處理文件中:for %%I in (command1) do command2

之所以要區分cmd窗口和批處理文件兩種環境,是因爲在這兩種環境下,命令語句表現出來的行爲雖然基本一樣,但是在細節上還是稍有不同,最明顯的一個差異就是:在cmd窗口中,for之後的形式變量I必須使用單百分號引用,即%I;而在批處理文件中,引用形式變量I必須使用雙百分號,即%%I。爲了方便起見,若不是特別強調,以下的講解都以批處理文件環境爲例。

我們先來看一下for語句的基本要素都有些什麼:

下面來看一個Windows bat腳本的demo(記爲demo1):

@echo offfor %%I in (ABC) do echo %%Ipause

保存爲.bat文件(批處理文件)並執行,將會在彈出的批處理窗口中看到這樣的信息:

對批處理文件的for循環就是這樣簡單,下面來看看for語句的注意事項,並運行更復雜的for循環實例。

有了以上的基礎,我們再來看下面這個例子,這個例子修改了demo1中的部分內容(記爲demo2),結果將大不一樣:

@echo offfor %%I in (A,B,C) do echo %%Ipause

運行結果如下:

如果把 bbs.bathome.cn 這個字符串中的點號換爲空格、跳格或等號,執行結果將和demo2的執行結果別無二致。

現在,來分析一下demo2代碼中for語句的執行過程:

高級用法:

1)搜索當前目錄下有哪些文件?

@echo offfor %%i in (*.*) do echo "%%i"pause

2)搜索當前目錄下所有的文本文件?

@echo offfor %%i in (*.txt) do echo "%%i"pause