不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > 系統(tǒng)優(yōu)化教程 > BAT批處理文件for循環(huán)的基本格式方法

BAT批處理文件for循環(huán)的基本格式方法

時(shí)間: 志藝942 分享

BAT批處理文件for循環(huán)的基本格式方法

  你還在為不知道BAT批處理文件for循環(huán)的基本格式方法而煩惱么?接下來是小編為大家收集的BAT批處理文件for循環(huán)的基本格式方法教程,希望能幫到大家。

  BAT批處理文件for循環(huán)的基本格式方法

  一,基本格式

  對(duì)一組文件中的每一個(gè)文件執(zhí)行某個(gè)特定命令。

  FOR %variable IN (set) DO command [command-parameters]

  %variable 指定一個(gè)單一字母可替換的參數(shù)。

  (set) 指定一個(gè)或一組文件??梢允褂猛ㄅ浞?。

  command 指定對(duì)每個(gè)文件執(zhí)行的命令。

  command-parameters

  為特定命令指定參數(shù)或命令行開關(guān)。

  在批處理程序中使用 FOR 命令時(shí),指定變量請(qǐng)使用 %%variable

  而不要用 %variable。變量名稱是區(qū)分大小寫的,所以 %i 不同于 %I.

  參數(shù):for有4個(gè)參數(shù) /d /l /r /f 他們的作用在下面的例子中講解

  二,參數(shù)/d

  FOR /D %variable IN (set) DO command [command-parameters]

  如果集中包含通配符,則指定與目錄名匹配,而不與文件名匹配。

  例如:

  @echo off

  for /d %%i in (c:*) do echo %%i

  pause

  運(yùn)行后, 會(huì)把c盤根目錄下的全部目錄打印出來, 不會(huì)打印文件

  例子:

  @echo off

  for /d %%i in (???) do echo %%i

  pause

  會(huì)把當(dāng)前目錄下有目錄名字只有1-3個(gè)字母的,就會(huì)顯示出來,沒有就不顯示了

  * 號(hào)表示任意N個(gè)字符,而?只表示任意一個(gè)字符

  三,參數(shù)/r

  FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]

  檢查以 [drive:]path 為根的目錄樹,指向每個(gè)目錄中的 FOR 語(yǔ)句。

  如果在 /R 后沒有指定目錄規(guī)范,則使用當(dāng)前目錄。如果集僅為一個(gè)單點(diǎn)(.)字符,

  則枚舉該目錄樹。

  /r 可以把當(dāng)前或者你指定路徑下的文件名全部讀取,注意是文件名字,

  注意2點(diǎn):

  1.set中的文件名如果含有通配符(?或*),則列舉/r參數(shù)指定的目錄及其下面的所有子目錄中和set相符合的所有文件,無相符文件的目錄則不列舉

  2.相反,如果set中為具體文件名,不含通配符,則列舉該目錄樹,而不管set中的指定文件是否存在

  例子:

  @echo off

  for /r d: %%i in (*.exe) do echo %%i

  pause

  將把d盤里以exe結(jié)尾的文件全部列出來

  @echo off

  for /r d: %%i in (boot.ini) do echo %%i

  pause

  列舉d盤中存在boot.ini文件的目錄

  四。

  FOR /L %variable IN (start,step,end) DO command [command-parameters]

  該集表示以增量形式從開始到結(jié)束的一個(gè)數(shù)字序列。因此,(1,1,5)將產(chǎn)生序列

  1 2 3 4 5,(5,-1,1)將產(chǎn)生序列(5 4 3 2 1)

  start 為起始值,stup為增量,end結(jié)束值,

  例子:

  @echo off

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

  pause

  將會(huì)列出12345 這幾個(gè)值

  @echo off

  for /l %%i in (1,1,5) do start cmd

  pause

  會(huì)打開5個(gè)cmd的窗口

  五,參數(shù)/F

  迭代及文件解析

  使用文件解析來處理命令輸出,字符串及文件內(nèi)容,使用迭代變量定義要檢查的內(nèi)容或字符串,并使用各種option選項(xiàng)來進(jìn)一步

  修改解析方式,使用options令牌選項(xiàng)指定那些令牌應(yīng)該作為迭代變量傳遞

  注意:在沒有使用令牌選項(xiàng)時(shí),/f將只檢查第一個(gè)令牌

  文件解析過程包括讀取輸出,字符串或文件內(nèi)容,將其分成獨(dú)立的文本行以及在將每行解析成零個(gè)或更多個(gè)令牌

  讓后通過設(shè)置為令牌的迭代變量值,調(diào)用for循環(huán),默認(rèn)情況下,/f傳遞每個(gè)文件每一行的第一個(gè)空白分隔符,跳過空行

  命令格式:

  FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]

  FOR /F ["options"] %variable IN ("string") DO command [command-parameters]

  FOR /F ["options"] %variable IN ('command') DO command [command-parameters]

  帶引號(hào)的字符串“options”包括一個(gè)或多個(gè)

  指定不同解析選項(xiàng)的關(guān)鍵字,這些關(guān)鍵字為:

  eol=c 指定一個(gè)注釋字符的結(jié)尾(就一個(gè))

  skip=n 指在文件開始時(shí)忽略的行數(shù)

  delims=xxx 指定分隔符集,這個(gè)替換了空格和跳格鍵的默認(rèn)分隔符集

  tokens=x,y,m-n 指每行的哪一個(gè)符合被傳遞到每個(gè)迭代的for本身,這回倒是額外名稱的分配,m-n格式為一個(gè)范圍

  通過nth符號(hào)指定mth,如果符號(hào)字符串中的最好一個(gè)字符星號(hào),那么額外的變量將在最好一個(gè)符號(hào)解析之后分配并接受行的保留文本,

  經(jīng)過測(cè)試,該參數(shù)最多只能區(qū)分31個(gè)字段

  usebackq 指定新語(yǔ)法已在下類情況中使用:

  在作為命令執(zhí)行一個(gè)后引號(hào)的字符串并且一個(gè)單

  引號(hào)字符為文字字符串命令并允許在 file-set

  中使用雙引號(hào)擴(kuò)起文件名稱。

  例子:

  @echo off

  rem 首先建立臨時(shí)文件,用完刪除>test.txt

  echo ;注釋行,這個(gè)是臨時(shí)文件,用完刪除>text.txt

  echo 11 12 13 14 15 16 >> test.txt

  echo 21,22,23,24,25,26 >> test.txt

  echo 31-32-33-34-35-36 >> test.txt

  for /F "eol=; tokens=1,3* delims=,- " %%i in (test.txt) do echo %%i %%j %%k

  pause

  del text.txt

  運(yùn)行......

  解釋:

  eol=; 分號(hào)開頭的行尾注釋行

  tokens=1,3- 將每行第1段,第3段和剩余地段分別賦予變量%%i,%%j,%%k

  delims=,- (減號(hào)后有一空格)以逗號(hào)減號(hào)和空格為分隔符,空格必須放在最后

  例子:

  @echo off

  for /f "skip=4 delims=" %%i in ('net user') do echo %%i

  pause

  這樣你本機(jī)全部賬號(hào)名字就出來了把括號(hào)內(nèi)的內(nèi)容用兩個(gè)單引號(hào)起來就表示那個(gè)當(dāng)命令執(zhí)行,for會(huì)返回命令的沒行結(jié)果,加那個(gè)"delims=" 是為了讓空格的行能正行顯示出來,不加就默認(rèn)只顯示空格左邊一列,應(yīng)為默認(rèn)的分隔符為空格或叫跳格鍵。


看了“BAT批處理文件for循環(huán)的基本格式方法”還想看:

1.批處理文件

2.bat命令怎么批處理

3.bat批處理命令

4.常用的文件格式集錦

5.bat批處理文件顯示亂碼怎么辦

2783220