主頁 > 知識庫 > Windows bat腳本之for循環(huán)用法詳解

Windows bat腳本之for循環(huán)用法詳解

熱門標簽:蘇丹地圖標注app 為什么申請400電話 菏澤電銷外呼系統(tǒng)軟件 外呼系統(tǒng)解決電銷問題 貴陽電話外呼系統(tǒng)廠家 地圖標注店鋪的收費 高德百度地圖標注推廣 南陽高頻外呼系統(tǒng)怎么安裝 京東辦理400電話查詢

Windows bat腳本的for語句基本形態(tài)如下:

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

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

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

  1. for、in和do是for語句的關鍵字,它們?nèi)齻€缺一不可;
  2. %%I是for語句中對形式變量的引用,即使變量l在do后的語句中沒有參與語句的執(zhí)行,也是必須出現(xiàn)的;
  3. in之后,do之前的括號不能省略;
  4. command1表示字符串或變量,command2表示字符串、變量或命令語句;

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

@echo off
for %%I in (ABC) do echo %%I
pause

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

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

  • for語句的形式變量I,可以換成26個字母中的任意一個,這些字母會區(qū)分大小寫,也就是說,%%I和%%i會被認為不是同一個變量;形式變量I還可以換成其他的字符,但是,為了不與批處理中的%0~%9這10個形式變量發(fā)生沖突,請不要隨意把%%I替換為%%0~%%9中的任意一個;
  • in和do之間的command1表示的字符串或變量可以是一個,也可以是多個,每一個字符串或變量,我們稱之為一個元素,每個元素之間,用空格鍵、跳格鍵、逗號、分號或等號分隔;
  • for語句依次提取command1中的每一個元素,把它的值賦予形式變量I,帶到do后的command2中參與命令的執(zhí)行;并且每次只提取一個元素,然后執(zhí)行一次do后的命令語句,而無論這個元素是否被帶到command2中參與了command2的運行;當執(zhí)行完一次do后的語句之后,再提取command1中的下一個元素,再執(zhí)行一次command2,如此循環(huán),直到command1中的所有元素都已經(jīng)被提取完畢,該for語句才宣告執(zhí)行結(jié)束。

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

@echo off
for %%I in (A,B,C) do echo %%I
pause

  運行結(jié)果如下:

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

現(xiàn)在,來分析一下demo2代碼中for語句的執(zhí)行過程:

  1.for語句以逗號為分隔符,把 A,B,C 這個字符串切分成三個元素:A、B和C,由此決定了do后的語句將會被執(zhí)行3次; 

  2.第一次執(zhí)行過程是這樣的:先把 bbs 這個字符串作為形式變量I的值,帶入do后的語句中加以執(zhí)行,也就是執(zhí)行 echo %%I 語句,此時的I值為A,因此,第一次執(zhí)行的結(jié)果,將會在屏幕上顯示A這個字符串;第二次執(zhí)行和第一次執(zhí)行的過程是一樣的,只不過此時I的值已經(jīng)被替換為command1中的第二個元素了,也就是 B 這個字符串;如此循環(huán),當?shù)谌蝒cho執(zhí)行完畢之后,整條for語句才算執(zhí)行完畢,此時,將執(zhí)行下一條語句,也就是pause命令。

 高級用法:

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

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

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

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

總結(jié)

到此這篇關于Windows bat腳本之for循環(huán)用法詳解的文章就介紹到這了,更多相關Windows bat腳本for循環(huán)用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • windows下定時利用bat腳本實現(xiàn)ftp上傳下載
  • Windows下簡單的Mysql備份BAT腳本分享
  • windows7系統(tǒng)去除快捷方式小箭頭BAT腳本分享
  • Windows設置開機自啟動bat腳本

標簽:資陽 咸寧 滄州 韶關 阿里 海北 昌都 通遼

巨人網(wǎng)絡通訊聲明:本文標題《Windows bat腳本之for循環(huán)用法詳解》,本文關鍵詞  Windows,bat,腳本,之,for,循環(huán),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關。
  • 相關文章
  • 下面列出與本文章《Windows bat腳本之for循環(huán)用法詳解》相關的同類信息!
  • 本頁收集關于Windows bat腳本之for循環(huán)用法詳解的相關信息資訊供網(wǎng)民參考!
  • 推薦文章