BAT批處理文件for循環的基本格式方法
你還在為不知道BAT批處理文件for循環的基本格式方法而煩惱么?接下來是我為大家收集的BAT批處理文件for循環的基本格式方法教程,希望能幫到大家。
BAT批處理文件for循環的基本格式方法
一,基本格式
對一組文件中的每一個文件執行某個特定命令。
FOR %variable IN (t) DO command [command-parameters]
%variable 指定一個單一字母可替換的參數。
(t) 指定一個或一組文件。可以使用通配符。
command 指定對每個文件執行的命令。
command-parameters
為特定命令指定參數或命令行開關。
在批處理程序中使用 FOR 命令時,指定變量請使用 %%variable
而不要用 %variable。變量名稱是區分大小寫的,所以 %i 不同于 %I.
參數:for有4個參數 /d /l /r /f 他們的作用在下面的例子中講解
二,參數/d
FOR /D %variable IN (t) DO command [command-parameters]
如果集中包含通配符,則指定與目錄名匹配,而不與文件名匹配。
例如:
@echo off
for /d %%i in (c:*) do echo %%i
pau
運行后, 會把c盤根目錄下的全部目錄打印出來, 不會打印文件
例子:
@echo off
for /d %%i in (???) do echo %%i
pau
會把當前目錄下有目錄名字只有1-3個字母的,就會顯示出來,沒有就不顯示了
* 號表示任意N個字符,而?只表示任意一個字符
三,參數/r
FOR /R [[drive:]path] %variable IN (t) DO command [command-parameters]
檢查以 [drive:]path 為根的目錄樹,指向每個目錄中的 FOR 語句。
如果在 /R 后沒有指定目錄規范,則使用當前目錄。如果集僅為一個單點(.)字符,
則枚舉該目錄樹。
/r 可以把當前或者你指定路徑下的文件名全部讀取,注意是文件名字,
注意2點:
1.t中的文件名如果含有通配符(?或*),則列舉/r參數指定的目錄及其下面的所有子目錄中和t相符合的所有文件,無相符文件的目錄則不列舉
2.相反,如果t中為具體文件名,不含通配符,則列舉該目錄樹,而不管t中的指定文件是否存在
例子:
@echo off
for /r d: %%i in (*.exe) do echo %%i
pau
將把d盤里以exe結尾的文件全部列出來
@echo off
for /r d: %%i in (boot.ini) do echo %%i
pau
列舉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
pau
將會列出12345 這幾個值
@echo off
for /l %%i in (1,1,5) do start cmd
pau
會打開5個cmd的窗口
五,參數/F
迭代及文件解析
使用文件解析來處理命令輸出,字符串及文件內容,使用迭代變量定義要檢查的內容或字符串,并使用各種option選項來進一步
修改解析方式,使用options令牌選項指定那些令牌應該作為迭代變量傳遞
注意:在沒有使用令牌選項時,/f將只檢查第一個令牌
文件解析過程包括讀取輸出,字符串或文件內容,將其分成獨立的文本行以及在將每行解析成零個或更多個令牌
讓后通過設置為令牌的迭代變量值,調用for循環,默認情況下,/f傳遞每個文件每一行的第一個空白分隔符,跳過空行
命令格式:
FOR /F ["options"] %variable IN (file-t) 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個字段
ubackq 指定新語法已在下類情況中使用:
在作為命令執行一個后引號的字符串并且一個單
引號字符為文字字符串命令并允許在 file-t
中使用雙引號擴起文件名稱。
例子:
@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
pau
del text.txt
運行......
解釋:
eol=; 分號開頭的行尾注釋行
tokens=1,3- 將每行第1段,第3段和剩余地段分別賦予變量%%i,%%j,%%k
delims=,- (減號后有一空格)以逗號減號和空格為分隔符,空格必須放在最后
例子:
@echo off
for /f "skip=4 delims=" %%i in ('net ur') do echo %%i
pau
這樣你本機全部賬號名字就出來了把括號內的內容用兩個單引號起來就表示那個當命令執行,for會返回命令的沒行結果,加那個"delims=" 是為了讓空格的行能正行顯示出來,不加就默認只顯示空格左邊一列,應為默認的分隔符為空格或叫跳格鍵。
看了“BAT批處理文件for循環的基本格式方法”還想看:
1. 批處理文件
2. bat命令怎么批處理
3. bat批處理命令
4. 常用的文件格式集錦
5. bat批處理文件顯示亂碼怎么辦
電腦如何修改并運行批處理格式文件?
你好,一般我們會把幾個要執行的命令輸入到一個文本文檔中,然后保存為bat批處理命令運行。但是保存批處理文件雙擊運行后,有用戶發現屏幕只是閃了一下,批處理文件沒有運行。這是批處理文件格式保存錯誤導致的無效操作問題。我們可以參考以下方法來避免這個問題。
1.在記事本中編輯后,點擊“文件”——“另存為”;
2.如果看到下面的代碼顯示“Unicode”,可能存在批處理文件無法運行的問題;
3.點擊下拉框,選擇“ANSI”代碼;
4.另外,保存類型最好選擇“所有文件”,避免另存為TXT文件;
5.另外,在所有設置完成后,不要忘記點擊保存按鈕保存bat文件。
按照上面的步驟在電腦中保存bat文件,就可以避免批處理文件格式在電腦中保存錯誤導致操作無效的問題。
bat是什么格式的文件?
bat是批處理文件的擴展名。
1、目前比較常見的批處理包含兩類:DOS批處理和PS批處理。
2、它應用于DOS和Windows系統中,它是由DOS或者Windows系統內嵌的命令解釋器(通常是COMMAND.COM或者CMD.EXE)解釋運行。
3、處理文件,或稱為批處理程序,是由一條條的DOS命令組成的普通文本文件,可以用記事本直接編輯或用DOS命令創建,也可以用DOS下的文本編輯器Edit.exe來編輯。
4、如果需要實現更復雜的應用,利用外部程序是必要的,這包括系統本身提供的外部命令和第三方提供的工具或者軟件。
5、批處理程序雖然是在命令行環境中運行,但不僅僅能使用命令行軟件,任何32位的Windows程序都可以放在批處理文件中運行。
什么是批處理文件?
所謂批處理文件就是將一些常用的命令寫入一個文本文件內。當使用這個批處理文件時,只要鍵入批處理的文件名,系統將依照文件中的命令來執行全部或者是一部分指定要執行的命令。這樣就可以簡化我們的工作,而不用每次都需要手動鍵入很多的命令來執行一些動作。
因為批處理文件是以純文本的形式存在的,所以只要有字處理功能的軟件就可以建立批處理文件;當然,利用“COPY
CON
文件名.BAT”的命令形式也可以建立批文件。
在使用批處理文件時,我們應該了解以下這些問題:
批處理文件的擴展名為.BAT,執行時無需鍵入擴展名。
批處理文件不能與DOS命令的擴展名為.COM、.EXE的文件同名否則就不能被執行,因為對同名文件系統執行的次序為DOS內部命令→.COM→.EXE→批命令。
可用TYPE命令查看批處理文件的內容。
利用∧C和∧Break終止批處理文件的執行,機器會提示Terminal
batch
job(Y/N)?,回答Y則終止。
AUTOEXEC.BAT被稱為系統批處理文件,啟動DOS時會自動執行該文件,所以其內可存儲一些希望每次啟動DOS時都執行的DOS命令或實用程序。注意:此文件必須存放在啟動盤的根目錄中才起作用。
批處理作業語句
ECHO
禁止或允許屏幕的命令顯示語句;
REM
注釋語句;
PAUSE
暫停語句;
GOTO
轉向語句;
IF
條件判斷語句;
FOR
重復執行語句;
SHIFT
左移參數語句;
CALL
調用語句。
批處理文件是什么?作用是什么?
批處理文件是指文件后綴名為“.bat”的文件,它的作用是可以一次批量執行大量的命令。這種文件在dos時期曾被大量使用,win9x時期也有,但已經開始少用了,最典型的是autoexec.bat這個文件了。
1.什么是批處理文件?批處理文件的作用是什么?
批處理文件(Batch File,簡稱 BAT文件)是一種在DOS 下最常用的可執行文件。它具有靈活的操縱性,可適應各種復雜的計算機操作。所謂的批處理,就是按規定的順序自動執行若干個指定的DOS命令或程序。即是把原來一個一個執行的命令匯總起來,成批的執行,而程序文件可以移植到其它電腦中運行,因此可以大大節省命令反復輸入的繁瑣。同時批處理文件還有一些編程的特點,可以通過擴展參數來靈活的控制程序的執行,所以在日常工作中非常實用。
2.批處理文件的格式是什么?
批處理文件起源于DOS時代,在DOS時代的擴展名為.bat(即是batch的縮寫),可使用Copy con、Edit、WPS等DOS程序來編輯。
經時代的發展,現今批處理文件已經不止支持DOS下的程序,同時也支持Windows環境程序的運行,在Windows NT以后的平臺中,還加入了以.cmd為擴展名的批處理文件,其性能比.bat文件更加優越,執行也與.bat文件一樣方便快捷。
注:由于.bat文件是基于16平臺下的程序,在Windows NT及以后的32位中運行時偶爾會出現堆棧溢出之類的錯誤,所以建議在新的系統中盡可能的采用.cmd擴展的批處理文件代替.bat的文件。
3.如何來編寫批處理文件?
其實編寫批處理文件并沒有什么編程環境的要求,任何一個文本編輯器都可以用來編寫批處理文件,像DOS下的Edit、WPS以及DOS自帶的Copy命令的擴展copy con命令就可以編寫,Windows下的記事本、寫字板等。
4.批處理文件的工作平臺。
由于批處理文件其實就是一個命令的集合,所以批處理文件的工作平臺是由這些命令所工作的平臺來決定,今天我們在這里主要研究的是Microsoft環境下的批處理文件(.bat和.cmd文件),所以這里的平臺,當然也就是指Microsoft的DOS和Windows系統。
5.批處理文件的應用。
現今Windows環境已經如此普及,程序的運行只要點擊幾次鼠標就可以完成,所以造成很多人都已經不了解批處理文件的作用,特別是那些新接觸電腦的用戶,而更多的了解它的人卻是那些程序設計人員,但不可否認,批處理文件有很多優點是其它程序所無法比擬的,最主要的優點就是編寫環境的寬松,編寫人員能力要求較低。
其實我們經常可以接觸到批處理文件,只是我們很少注意而已,像Windows 9x啟動時加載的Autoexec.bat文件就是一個批處理文件,當然這個批處理文件是一個比較特殊的批處理文件,至于詳細這個文件的相關介紹,大家可以到網上查看相關的文檔。另外就是我們安裝程序的時候,經常可以看到有一個黑色的命令行窗口跳出來,這時其實大部分可能性它執行的就是一個批處理文件。
“批處理文件 .bat、.cmd”是什么意思???(高手請進)
.bat就是批處理文件。也就是一組命令行的集合。
.com是一種可執行文件的后綴。
這兩種文件,在資源管理器里面直接用鼠標點擊就能執行。也可以在CMD界面下執行。文件名就是命令。
文件名+后綴,來源于unix系統。DOS系統沿用。
后綴一般用來簡單表示文件的類型。
windows系統沿用了部分DOS外殼(shell)用以提供命令行維護界面。