❶ 幫我看看BAT的for命令
從這個bat的功能來看,
del *.txt
不用超過10次按鍵就可以實現。
看來只是學習for做的練習。
建議從最基礎的學起。
dir/a-d/b *.txt 都不知道什麼意思,建議先把dir命令學習學習。
在cmd下輸入dir/?看看幫助。
當然for命令也可以在cmd窗口輸入for/?查看幫助,其中就有delims的說明。
其他dos命令都可以這樣學習
if/?
rd/?
del/?
set/?
。。。。。。
❷ bat中運用for /r命令
FOR命令就是把讀取的東西,然後賦值給變數。
FOR有4個參數/d、 /l 、 /r 、 /f
每個參數的意思分別如下:
/d:僅為目錄
如果Set (也就是我上面寫的"相關文件或命令")包含通配符(*和?),將對與Set相匹配的每個目錄(而不是指定目錄中的文件組)執行指定的Command。
/R:遞歸
進入根目錄樹[Drive:]Path,在樹的每個目錄中執行for語句。如果在/R後沒有指定目錄,則認為是當前目錄。如果Set只是一個句點(.),則只枚舉目錄樹。
/L:迭代數值范圍
使用迭代變數設置起始值(Start#),然後逐步執行一組范圍的值,直到該值超過所設置的終止值(End#)。/L將通過對Start#與End#進行比較來執行迭代變數。
/f:迭代及文件解析
使用文件解析來處理命令輸出、字元串及文件內容。使用迭代變數定義要檢查的內容或字元串,並使用各種ParsingKeywords選項進一步修改解析方式。
❸ 請問bat中的for命令,如果要跳過開頭兩行及最後三行,該怎麼表示
for 循環命令,只要條件符合,它將多次執行同一命令。
格式FOR [%%f] in (集合) DO [命令]
只要參數f在指定的集合內,則條件成立,執行命令
如果一條批處理文件中有一行:
for %%c in (*.bat *.txt) do type %%c
含義是如果是以bat或txt結尾的文件,則顯示文件的內容。
❹ bat文件用for命令添加文本
@echo off
for /f "tokens=*" %%i in (1.txt) do (echo abc%%i>>2.txt)
pause提取1.txt生成2.txt,也可添加字元串後直接替換為原文件名代碼如下.
@echo off
for /f "tokens=*" %%i in (1.txt) do (echo abc%%i>>2.txt)
move 2.txt 1.txt
pause
❺ bat學習,for命令怎麼用
@echo off
echo 一鍵清除。。。
for %%a in ( c,d,e,f,g,h,i,j ) do ( del %%a:\_desktop.ini /f /s /q/a)
echo 清理完畢
echo. & pause
❻ bat中for命令後的輸出(在線等,請高手指點)
@echo off&setlocal EnableDelayedExpansion
set a=0
for /l %%i in (1,1,2) do (set /a a+=1 && echo !a!)
pause>nul
試試看
❼ bat 如何循環一段命令 goto或for都行
讓bat腳本循環執行有以下兩種方法:
第一、可以直接加個%0,即執行本身,實現循環。
第二、用goto命令,去到要重復的開頭,如果要限制次數,可以先set 一個值,循環一次減1,條件命令到0退出,實現循環。
(7)batfor命令行擴展閱讀:
goto語句一般格式如下:
goto 語句標號; 其中語句標號是按標識符規定書寫的符號, 放在某一語句行的前面,標號後加冒號(:)。語句標號起標識語句的作用,與goto 語句配合使用。
如: label: i++;
loop: while(x<7);
goto loop;
goto語句的語義是改變程序流向, 轉去執行語句標號所標識的語句。goto語句通常與條件語句配合使用。可用來實現條件轉移, 構成循環,跳出循環體等功能。
❽ bat中的「for」的用法。~
學批處理當然要學到for了
看看他的基本格式
FOR 參數 %%變數名 IN (相關文件或命令) DO 執行的命令
參數:FOR有4個參數 /d /l /r /f 比較常用的是/f參數
%%變數名 :這個變數名可以是小寫a-z或者大寫A-Z,他們區分大小寫哦~
IN:命令的格式,照寫就是了!
(相關文件或命令) :FOR要把什麼東西讀取然後賦值給變數,不懂的話看下面的例子
do:命令的格式,照寫就是了!
當然我們可以不加任何參數執行FOR,這個時候他可以加通配符號進行操作,看我的例子.
例子:
@echo off
for %%i in (c:\windows\*.txt) do echo %%i
pause
這個會列印c:\windows\目錄下的全部TXT文件的文件名字.
❾ bat批處理 for命令疑問
我告訴你哦.
你這個代碼是循環的.
因為arp -a取出的是多行信息.
循環每次都CALL一次12.bat的..
你可以在CMD命令行下直接arp -a看看輸出信息就明白啦
❿ BAT批處理文件for循環的基本格式方法
你還在為不知道BAT批處理文件for循環的基本格式方法而煩惱么?接下來是我為大家收集的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=" 是為了讓空格的行能正行顯示出來,不加就默認只顯示空格左邊一列,應為默認的分隔符為空格或叫跳格鍵。
看了“BAT批處理文件for循環的基本格式方法”還想看:
1. 批處理文件
2. bat命令怎麼批處理
3. bat批處理命令
4. 常用的文件格式集錦
5. bat批處理文件顯示亂碼怎麼辦