命令行高手誰會(huì)for語句? 命令行高手誰會(huì)for語句?
對(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.
如果命令擴(kuò)展名被啟用,下列額外的 FOR 命令格式會(huì)受到
支持:
FOR /D %variable IN (set) DO command [command-parameters]
如果集中包含通配符,則指定與目錄名匹配,而不與文件
名匹配。
FOR /R [[drive:]path] %variable IN (set) DO command [command-parame
檢查以 [drive:]path 為根的目錄樹,指向每個(gè)目錄中的
FOR 語句。如果在 /R 后沒有指定目錄,則使用當(dāng)前
目錄。如果集僅為一個(gè)單點(diǎn)(.)字符,則枚舉該目錄樹。
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)。
FOR /F ["options"] %variable IN (file-set) DO command [command-para
FOR /F ["options"] %variable IN ("string") DO command [command-para
FOR /F ["options"] %variable IN ('command') DO command [command-par
或者,如果有 usebackq 選項(xiàng):
FOR /F ["options"] %variable IN (file-set) DO command [command-para
FOR /F ["options"] %variable IN ("string") DO command [command-para
FOR /F ["options"] %variable IN ('command') DO command [command-par
filenameset 為一個(gè)或多個(gè)文件名。繼續(xù)到 filenameset 中的
下一個(gè)文件之前,每份文件都已被打開、讀取并經(jīng)過處理。
處理包括讀取文件,將其分成一行行的文字,然后將每行
解析成零或更多的符號(hào)。然后用已找到的符號(hào)字符串變量值
調(diào)用 For 循環(huán)。以默認(rèn)方式,/F 通過每個(gè)文件的每一行中分開
的第一個(gè)空白符號(hào)。跳過空白行。您可通過指定可選 "options"
參數(shù)替代默認(rèn)解析操作。這個(gè)帶引號(hào)的字符串包括一個(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è)符號(hào)被傳遞到每個(gè)迭代
的 for 本身。這會(huì)導(dǎo)致額外變量名稱的分配。
格式為一個(gè)范圍。通過 nth 符號(hào)指定 mth。如
符號(hào)字符串中的最后一個(gè)字符星號(hào),
那么額外的變量將在最后一個(gè)符號(hào)解析之后
分配并接受行的保留文本。
usebackq - 指定新語法已在下類情況中使用:
在作為命令執(zhí)行一個(gè)后引號(hào)的字符串并且一個(gè)單
引號(hào)字符為文字字符串命令并允許在 filename
中使用雙引號(hào)擴(kuò)起文件名稱。
某些范例可能有助:
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i
會(huì)分析 myfile.txt 中的每一行,忽略以分號(hào)打頭的那些行,將
每行中的第二個(gè)和第三個(gè)符號(hào)傳遞給 for 程序體;用逗號(hào)和/或
空格定界符號(hào)。請(qǐng)注意,這個(gè) for 程序體的語句引用 %i 來
取得第二個(gè)符號(hào),引用 %j 來取得第三個(gè)符號(hào),引用 %k
來取得第三個(gè)符號(hào)后的所有剩余符號(hào)。對(duì)于帶有空格的文件
名,您需要用雙引號(hào)將文件名括起來。為了用這種方式來使
用雙引號(hào),您還需要使用 usebackq 選項(xiàng),否則,雙引號(hào)會(huì)
被理解成是用作定義某個(gè)要分析的字符串的。
%i 專門在 for 語句中得到說明,%j 和 %k 是通過
tokens= 選項(xiàng)專門得到說明的。您可以通過 tokens= 一行
指定最多 26 個(gè)符號(hào),只要不試圖說明一個(gè)高于字母 'z' 或
'Z' 的變量。請(qǐng)記住,F(xiàn)OR 變量是單一字母、分大小寫和全局的;而且,
同時(shí)不能有 52 個(gè)以上都在使用中。
您還可以在相鄰字符串上使用 FOR /F 分析邏輯;方法是,
用單引號(hào)將括號(hào)之間的 filenameset 括起來。這樣,該字符
串會(huì)被當(dāng)作一個(gè)文件中的一個(gè)單一輸入行。
最后,您可以用 FOR /F 命令來分析命令的輸出。方法是,將
括號(hào)之間的 filenameset 變成一個(gè)反括字符串。該字符串會(huì)
被當(dāng)作命令行,傳遞到一個(gè)子 CMD.EXE,其輸出會(huì)被抓進(jìn)
內(nèi)存,并被當(dāng)作文件分析。因此,以下例子:
FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
會(huì)枚舉當(dāng)前環(huán)境中的環(huán)境變量名稱。
另外,F(xiàn)OR 變量參照的替換已被增強(qiáng)。您現(xiàn)在可以使用下列
選項(xiàng)語法:
~I - 刪除任何引號(hào)("),擴(kuò)充 %I
%~fI - 將 %I 擴(kuò)充到一個(gè)完全合格的路徑名
%~dI - 僅將 %I 擴(kuò)充到一個(gè)驅(qū)動(dòng)器號(hào)
%~pI - 僅將 %I 擴(kuò)充到一個(gè)路徑
%~nI - 僅將 %I 擴(kuò)充到一個(gè)文件名
%~xI - 僅將 %I 擴(kuò)充到一個(gè)文件擴(kuò)展名
%~sI - 擴(kuò)充的路徑只含有短名
%~aI - 將 %I 擴(kuò)充到文件的文件屬性
%~tI - 將 %I 擴(kuò)充到文件的日期/時(shí)間
%~zI - 將 %I 擴(kuò)充到文件的大小
%~$PATH:I - 查找列在路徑環(huán)境變量的目錄,并將 %I 擴(kuò)充
到找到的第一個(gè)完全合格的名稱。如果環(huán)境變量名
未被定義,或者沒有找到文件,此組合鍵會(huì)擴(kuò)充到
空字符串
可以組合修飾符來得到多重結(jié)果:
%~dpI - 僅將 %I 擴(kuò)充到一個(gè)驅(qū)動(dòng)器號(hào)和路徑
%~nxI - 僅將 %I 擴(kuò)充到一個(gè)文件名和擴(kuò)展名
%~fsI - 僅將 %I 擴(kuò)充到一個(gè)帶有短名的完整路徑名
%~dp$PATH:i - 查找列在路徑環(huán)境變量的目錄,并將 %I 擴(kuò)充
到找到的第一個(gè)驅(qū)動(dòng)器號(hào)和路徑。
%~ftzaI - 將 %I 擴(kuò)充到類似輸出線路的 DIR
在以上例子中,%I 和 PATH 可用其他有效數(shù)值代替。%~ 語法
用一個(gè)有效的 FOR 變量名終止。選取類似 %I 的大寫變量名
比較易讀,而且避免與不分大小寫的組合鍵混淆。
批處理中的環(huán)境變量是怎么回事 高手詳解!說的好追加30分
會(huì) 分析 myfile.txt 中的每一行,忽略以分號(hào)打頭的那些行,將每行中的第二個(gè)和第三個(gè)符號(hào)傳遞給 for 程序體;用逗號(hào)和\/或空格定界符號(hào)。請(qǐng)注意,這個(gè) for 程序體的語句引用 %i 來取得第二個(gè)符號(hào),引用 %j 來取得第三個(gè)符號(hào),引用 %k來取得第三個(gè)符號(hào)后的所有剩余符號(hào)。對(duì)于帶有空格的文件名,您需要用雙引號(hào)將...
誰能幫我解釋這行代碼的意思:for \/f "delims=" %%i in ('dir \/ah \/...
將 attrib 和任意命令行選項(xiàng)應(yīng)用到當(dāng)前目錄及其所有子目錄中的匹配文件。\/d 將 attrib 和任意命令行選項(xiàng)應(yīng)用到目錄。\/?在命令提示符下顯示幫助。注釋 ? 使用文件組 可以在 FileName 參數(shù)中使用通配符(? 和 *)來顯示或更改一組文件的屬性。如果文件設(shè)置了系統(tǒng)或隱藏屬性,則為了更改該文件的...
Win7批處理For語句執(zhí)行到最后會(huì)產(chǎn)生空行,有辦法讓這個(gè)空命令去除嗎...
。要在16進(jìn)制的文本編輯器中才能看到。。所以find或findstr是過濾不掉的。。可以這樣:echo off for \/f "tokens=2 delims==" %%a in ('wmic cpu get name \/value') do set "fas=CPU名字:%%a"&call,echo %%fas pause PS:WMIC雖然強(qiáng)大但是很惡心的。。。
DOS下的常用命令
IF [not] errorlevel 數(shù)字 命令語句 如果程序運(yùn)行最后返回一個(gè)等于或大于指定數(shù)字的退出編碼,指定條件為“真”。 例:IF errorlevel 0 命令 指程序執(zhí)行后返回的值為0時(shí),就值行后面的命令;IF not errorlevel 1 命令指程序執(zhí)行最后返回的值不等于1,就執(zhí)行后面的命令。 0 指發(fā)現(xiàn)并成功執(zhí)行(真);1 指沒有發(fā)現(xiàn)、...
C:for循環(huán)中的getchar()出了大問題,高手進(jìn)來一點(diǎn)通~
第一次getchar時(shí),因?yàn)槟銢]有輸入字符,所以會(huì)正常執(zhí)行,然后你輸入了一個(gè)字符,比如'n',然后敲回車。實(shí)際上此時(shí)程序接收了兩個(gè)字符即n和回車,而getchar只取一個(gè)字符,所以回車被存在系統(tǒng)緩存里,當(dāng)下一次執(zhí)行時(shí)自動(dòng)把上次的回車取走了,所以你看不到,其實(shí)是執(zhí)行過的。你可以把每個(gè)getchar()出現(xiàn)的...
向各位網(wǎng)絡(luò)高手請(qǐng)教一下CMD的問題
goto 標(biāo)簽 將cmd.exe導(dǎo)向到批處理程序中帶標(biāo)簽的行(標(biāo)簽必須單獨(dú)一行,且以冒號(hào)打頭,例如:“:start”標(biāo)簽) call 路徑\\批處理文件名 從批處理程序中調(diào)用另一個(gè)批處理程序 (更多說明見call \/?) for 對(duì)一組文件中的每一個(gè)文件執(zhí)行某個(gè)特定命令(更多說明見for命令及變量) echo on或off 打開或關(guān)閉echo,僅用echo...
for %1 in (%windir%\\system32\\*.dll) do regsvr32.exe \/s %1 該內(nèi)...
3、我們點(diǎn)擊:編輯 - 粘貼以后,for %1 in (%windir%\\system32\\*.dll) do regsvr32.exe \/s %1 命令就復(fù)制到了管理員命令提示符窗口中(這樣操作,輸入的命令不會(huì)出現(xiàn)錯(cuò)誤),按下鍵盤上的回車鍵;4、我們按下回車鍵以后,開始注冊(cè)系統(tǒng)的.dll文件,窗口中的文件會(huì)不斷地滾動(dòng);5、然后等待一下...
55句浪漫甜蜜適合撩妹的愛情說說大全
三十三、時(shí)間是治療心靈創(chuàng)傷的大師,但絕不是解決問題的高手。 三十四、善意可以給所有人,但愛不行。 三十五、我迷茫,但我從不逃避現(xiàn)實(shí)。我冷漠,可是只要遇見對(duì)的人,我會(huì)燃燒。我怯弱,但必要時(shí)我會(huì)拿出足夠的勇氣。我沒有宏偉的理想,但每一天我都在默默的努力。我也許渺小,但我值得自己驕傲。 三十六、想化作一...
...使用多個(gè)軟件同時(shí)自動(dòng)安裝命令 有高手會(huì)嗎?
::安裝軟件數(shù)比如3 set n=3 ::每個(gè)軟件的主安裝程序的路徑及主名,有幾個(gè)寫幾行 set s1=e:\\qq\\qq2010.exe set s2=d:\\暴風(fēng)影音\\setup.exe set s3=e:\\多好的軟件\\install.exe :::上述是比如的要據(jù)實(shí)改,有幾行寫幾行,按順序編號(hào) echo\/ for \/L %%m in (1,1,%n%)do set sn=!
Matlab 循環(huán) for 語句 xlsread EXCEL表格數(shù)據(jù)導(dǎo)入 畫圖
Matlab的 xlsread() 函數(shù)可以將Excel數(shù)據(jù)讀入到matlab工作空間,然后就可以根據(jù)讀入的數(shù)據(jù)作圖。下面給出操作流程:1、在Excel中輸入數(shù)據(jù),保存文件到Matlab的工作目錄下,例如 test.xlsx 2、在matlab命令窗口輸入以下代碼:>> data = xlsread('test.xlsx'); % 讀入excel數(shù)據(jù) >> plot(data(1,:),...
相關(guān)評(píng)說:
凱里市零線: ______ 如果是同時(shí)打開c:盤下(包括所有各級(jí)子目錄)的txt文檔:for /r c:\ %%i in (*.txt)do start "" "%%i" 如果是逐個(gè)打開(關(guān)閉一個(gè)后就打開下一個(gè)):for /r c:\ %%i in (*.txt)do start "" /wait "%%i" 如果是僅打開記事本程序:start notepad
凱里市零線: ______ 以下例說明: for(表達(dá)式1;表達(dá)式2;表達(dá)式3) {語句組;} 解釋: 1、開始執(zhí)行“語句組”前,先執(zhí)行“表達(dá)式1”. 2、判斷“表達(dá)式2”是否成立,如果不成立,則結(jié)束循環(huán). 3、如果“表達(dá)式2”成立,則進(jìn)入循環(huán),執(zhí)行“語句組”; 3、執(zhí)行“表達(dá)式3”;然后回到2.
凱里市零線: ______ for %%c in (*.bat *.txt) do type %%c 含義是如果是以bat或txt結(jié)尾的文件,則顯示文件的內(nèi)容
凱里市零線: ______ 執(zhí)行for中的每一個(gè)循環(huán)時(shí),都必須執(zhí)行里面的IF語句,執(zhí)行完之后,轉(zhuǎn)到下依次循環(huán)
凱里市零線: ______ 在cmd命令提示下面輸入:for /? 就都有了 對(duì)一組文件中的每一個(gè)文件執(zhí)行某個(gè)特定命令.FOR %variable IN (set) DO command [command-parameters] %variable 指定一個(gè)單一字母可替換的參數(shù). (set) 指定一個(gè)或一組文件.可以使用通配符....
凱里市零線: ______ 一、小括號(hào),園括號(hào)() 1、單小括號(hào) () ①命令組.括號(hào)中的命令將會(huì)新開一個(gè)子shell順序執(zhí)行,所以括號(hào)中的變量不能夠被腳本余下的部分使用.括號(hào)中多個(gè)命令之間用分號(hào)隔開,最后一個(gè)命令可以沒有分號(hào),各命令和括號(hào)之間不必有空格...
凱里市零線: ______ for /f %i in ('dir /a:d/b $*$' ) do ( …… ) 這句包括兩個(gè)部分, 一、FOR語句,對(duì)'DOS命令'輸出結(jié)果'進(jìn)行分析,存入%%i變量中 二、引號(hào)內(nèi)的DOS命令. dir /a:d 指的是查詢當(dāng)前路徑中屬性為D即目錄的內(nèi)容,即文件夾 后面使用了通配符,即目錄名以$打頭并以$結(jié)尾,中間是任意長(zhǎng)度的字符.例如 $1234567890$ 類似這樣的文件夾名稱.
凱里市零線: ______ 例子主要是說明變量延遲與執(zhí)行順序沒什么關(guān)系.另批處理的順序是從上至下,一行一行執(zhí)行.舉個(gè)簡(jiǎn)單的例子:echo %time% pause>nul echo %time:~,8% pause>nul 將代碼保存,執(zhí)行.首先顯示當(dāng)前時(shí)間(精確形式),然后暫停.先不要按鍵盤.將echo %time:~,8%修改為:echo %computername% 按任意鍵就繼續(xù).解釋:如果不修改批處理文件,則顯示時(shí)間(簡(jiǎn)略形式),而不是電腦的名稱,這就說明了批處理是一行一行執(zhí)行的.
凱里市零線: ______ 暈 c語言中的for語句代表循環(huán)語句啊
凱里市零線: ______ 1. set設(shè)置set #1=192.168.0.10set #2=192.168.1.20set #3=192.168.2.30set #4=192.168.3.40這個(gè)你可以理解為一個(gè)數(shù)組吧2. for /f %%i in ('set #') 這里的 for /f會(huì)...