变态重口极致另类在线-波多久久夜色精品国产-波多野结衣在线观看一区-波多野结衣在线观看一区二区-污污的网站免费阅读-污污视频网址

當前位置: 首頁IT技術 → BAT批處理文件for循環的基本格式

BAT批處理文件for循環的基本格式

更多

一,基本格式
對一組文件中的每一個文件執行某個特定命令。

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

  %variable  指定一個單一字母可替換的參數。
  (set)      指定一個或一組文件。可以使用通配符。
  command    指定對每個文件執行的命令。
  command-parameters
             為特定命令指定參數或命令行開關。

在批處理程序中使用 FOR 命令時,指定變量請使用 %%variable
而不要用 %variable。變量名稱是區分大小寫的,所以 %i 不同于 %I.
參數:for有4個參數 /d /l /r /f 他們的作用在下面的例子中講解
二,參數/d
FOR /D %variable IN (set) DO command [command-parameters]

如果集中包含通配符,則指定與目錄名匹配,而不與文件名匹配。
例如:
@echo off
for /d %%i in (c:\*) do echo %%i
pause
運行后, 會把c盤根目錄下的全部目錄打印出來, 不會打印文件
例子:
@echo off
for /d %%i in (???) do echo %%i
pause
會把當前目錄下有目錄名字只有1-3個字母的,就會顯示出來,沒有就不顯示了
* 號表示任意N個字符,而?只表示任意一個字符
三,參數/r
FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]

    檢查以 [drive:]path 為根的目錄樹,指向每個目錄中的 FOR 語句。
    如果在 /R 后沒有指定目錄規范,則使用當前目錄。如果集僅為一個單點(.)字符,
    則枚舉該目錄樹。
 /r 可以把當前或者你指定路徑下的文件名全部讀取,注意是文件名字,
注意2點:
 1.set中的文件名如果含有通配符(?或*),則列舉/r參數指定的目錄及其下面的所有子目錄中和set相符合的所有文件,無相符文件的目錄則不列舉
 2.相反,如果set中為具體文件名,不含通配符,則列舉該目錄樹,而不管set中的指定文件是否存在
例子:
@echo off
for /r d:\ %%i in (*.exe) do echo %%i
pause
將把d盤里以exe結尾的文件全部列出來
@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]

    該集表示以增量形式從開始到結束的一個數字序列。因此,(1,1,5)將產生序列
    1 2 3 4 5,(5,-1,1)將產生序列(5 4 3 2 1)
start 為起始值,stup為增量,end結束值,
例子:
@echo off
for /l %%i in (1,1,5) do echo %%i
pause
將會列出12345 這幾個值
@echo off
for /l %%i in (1,1,5) do start cmd
pause
會打開5個cmd的窗口
五,參數/F
\迭代及文件解析
使用文件解析來處理命令輸出,字符串及文件內容,使用迭代變量定義要檢查的內容或字符串,并使用各種option選項來進一步
修改解析方式,使用options令牌選項指定那些令牌應該作為迭代變量傳遞
注意:在沒有使用令牌選項時,/f將只檢查第一個令牌
文件解析過程包括讀取輸出,字符串或文件內容,將其分成獨立的文本行以及在將每行解析成零個或更多個令牌
讓后通過設置為令牌的迭代變量值,調用for循環,默認情況下,/f傳遞每個文件每一行的第一個空白分隔符,跳過空行
命令格式:
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]
帶引號的字符串“options”包括一個或多個
指定不同解析選項的關鍵字,這些關鍵字為:
eol=c  指定一個注釋字符的結尾(就一個)
skip=n 指在文件開始時忽略的行數
delims=xxx 指定分隔符集,這個替換了空格和跳格鍵的默認分隔符集
tokens=x,y,m-n 指每行的哪一個符合被傳遞到每個迭代的for本身,這回倒是額外名稱的分配,m-n格式為一個范圍
通過nth符號指定mth,如果符號字符串中的最好一個字符星號,那么額外的變量將在最好一個符號解析之后分配并接受行的保留文本,
經過測試,該參數最多只能區分31個字段
usebackq 指定新語法已在下類情況中使用:
在作為命令執行一個后引號的字符串并且一個單
引號字符為文字字符串命令并允許在 file-set
中使用雙引號擴起文件名稱。
例子:
@echo off
rem 首先建立臨時文件,用完刪除>test.txt
echo ;注釋行,這個是臨時文件,用完刪除>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
運行......
解釋:
eol=; 分號開頭的行尾注釋行
tokens=1,3- 將每行第1段,第3段和剩余地段分別賦予變量%%i,%%j,%%k
delims=,- (減號后有一空格)以逗號減號和空格為分隔符,空格必須放在最后
例子:
@echo off
for /f "skip=4 delims=" %%i in ('net user') do echo %%i
pause
這樣你本機全部賬號名字就出來了把括號內的內容用兩個單引號起來就表示那個當命令執行,for會返回命令的沒行結果
,加那個"delims=" 是為了讓空格的行能正行顯示出來,不加就默認只顯示空格左邊一列,應為默認的分隔符為空格或叫跳格鍵

熱門評論
最新評論
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數: 0/500 (您的評論需要經過審核才能顯示)
主站蜘蛛池模板: 日韩手机专区 | 狠狠狠狠狠狠 | 午夜精品aaa国产福利 | 国产精品久久久久久久久久一区 | 456亚洲人成在线播放网站 | 欧美香蕉网 | 99热久这里都是精品小草 | 国产精品亚洲欧美日韩区 | 午夜一级黄色片 | 久久99精品麻豆国产 | 欧美视频一区二区 | 日日草草 | 国产成人影院在线观看 | 91精品导航 | 色综合久久久久久久久五月 | 欧美亚洲韩国 | 亚洲rct中文字幕在线 | 夜夜操夜夜骑 | 欧美娇小极度另类 | 一个人看的www片免费视频中文 | 天天干天天操天天摸 | 国产成人8x视频一区二区 | 澳门毛片免费播放 | 天天操天天干天天射 | 欧美日韩不卡视频 | 国产草 | 亚州视频一区二区 | 在线成人播放毛片 | 波多野结衣精品一区二区三区 | 最近中文国语字幕在线播放视频 | 欧美呦呦在线 | 免费成人看片 | 在线观看黄色x视频 | 欧美成人三级网站 | 二区三区在线观看 | 成年在线观看视频免费看 | 黄色一级视频播放 | 色黄网站aaaaaa级毛片 | 色影院在线| 香蕉视频三级 | 中文字幕在线视频播放 |