DOS循環(huán):bat/批處理for命令詳解之一 (史上雖詳盡的總結(jié)和說明~~) - 小嘴冰涼 - JavaEye技術(shù)網(wǎng)站
DOS循環(huán):bat/批處理for命令詳解之一 (史上雖詳盡的總結(jié)和說明~~) --- 本文鏈接地址:http: --- 前言: 雖然以前對批處理也算有點研究,但一直對for命令理解不夠透徹,偶爾用時也是照貓畫虎的用一下。 雖然這是古董級的東西,但挺有意思的,而且有時用處也是蠻大的,所以,這次下決心研究一下,通過兩個晚上的學(xué)習(xí)和測試,算是理解了90%了,很有成就感。 在這次學(xué)習(xí)過程中,我作了詳細的總結(jié)和說明,在這里帖出來,供不明白的朋友參閱。自認為是寫得比任何教程寫得都明白,因為我是從不明白過來的,是結(jié)合自己從不理解到理解的過程寫的,嘔心瀝血啊~~所以大膽地說是史上雖詳盡的總結(jié)和說明~~ 其實,這次學(xué)習(xí)主要是通過一位高手寫的教程,再結(jié)合系統(tǒng)提供的幫助完成的。這個教程寫得真的很不錯,可惜忘了記下出處和作者了!剛才又在網(wǎng)上搜了一下,發(fā)現(xiàn)這篇教程到處都有轉(zhuǎn)載,都找不到作者和原出處!實在感謝這位不知名的高手啊! --TTT 200906160033 +++ 格式:FOR [參數(shù)] %%變量名 IN (相關(guān)文件或命令) DO 執(zhí)行的命令 作用:對一個或一組文件,字符串或命令結(jié)果中的每一個對象執(zhí)行特定命令,達到我們想要的結(jié)果。 注意:在批處理文件中使用 FOR 命令時,指定變量請使用 %%variable,而不要用 %variable。變量名稱是區(qū)分大小寫的,所以 %i 不同于 %I. 關(guān)于:for命令可以帶參數(shù)或不帶參數(shù),帶參數(shù)時支持以下參數(shù):/d /l /r /f 下面分別解釋一下 === 零:無參數(shù)時: --- FOR %variable IN (set) DO command [command-parameters] %variable 指定一個單一字母可替換的參數(shù)。 (set) 指定一個或一組文件??梢允褂猛ㄅ浞?。 command 指定對每個文件執(zhí)行的命令。 command-parameters 為特定命令指定參數(shù)或命令行開關(guān)。 TTT示例: for %%i in (t*.*) do echo %%i --顯示當(dāng)前目錄下與t*.*相匹配的文件(只顯示文件名,不顯示路徑) for %%i in (d:\mydocuments\*.doc) do @echo %%i --顯示d:\mydocuments\目錄下與*.doc相匹配的文件 === 一、參數(shù) /d (參數(shù)只能顯示當(dāng)前目錄下的目錄名字) --- 格式:FOR /D %variable IN (set) DO command [command-parameters] 這個參數(shù)主要用于目錄搜索,不會搜索文件,/D 參數(shù)只能顯示當(dāng)前目錄下的目錄名字。(TTT特別說明:只會搜索指定目錄下的目錄,不會搜索再下一級的目錄。) TTT示例: for /d %%i in (c:\*) do echo %%i --顯示c盤根目錄下的所有目錄 for /d %%i in (???) do echo %%i --顯示當(dāng)前目錄下名字只有1-3個字母的目錄 === 二、參數(shù) /R (搜索指定路徑及所有子目錄中與set相符合的所有文件) --- 格式:FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters] 此命令會搜索指定路徑及所有子目錄中與set相符合的所有文件,注意是指定路徑及所有子目錄。 1、set中的文件名如果含有通配符(?或*),則列舉/R參數(shù)指定的目錄及其下面的所用子目錄中與set相符合的所有文件,無相符文件的目錄則不列舉。 2、如果set中為具體文件名,不含通配符,則枚舉該目錄樹(即列舉該目錄及其下面的所有子目錄)(并在后面加上具體的文件名),而不管set中的指定文件是否存在。 例:for /r c:\ %%i in (*.exe) do echo %%i --把C盤根目錄,和每個目錄的子目錄下面全部的EXE文件都列出來了!!!! TTT示例: for /r c:\ %%i in (boot.ini) do echo %%i --枚舉了c盤所有目錄 for /r d:\backup %%i in (1) do echo %%i --枚舉d\backup目錄 for /r c:\ %%i in (boot.ini) do if exist %%i echo %%i --很好的搜索命令,列舉boot.ini存在的目錄 === 三、參數(shù) /L (該集表示以增量形式從開始到結(jié)束的一個數(shù)字序列。可以使用負的 Step) --- 格式:FOR /L %variable IN (start,step,end) DO command [command-parameters] 該集表示以增量形式從開始到結(jié)束的一個數(shù)字序列??梢允褂秘摰?nbsp;Step TTT示例: for /l %%i in (1,1,5) do @echo %%i --輸出1 2 3 4 5 for /l %%i in (1,2,10) do @echo %%i --輸出1,3,5,7,9 for /l %%i in (100,-20,1) do @echo %%i --輸出100,80,60,40,20 for /l %%i in (1,1,5) do start cmd --打開5個CMD窗口 for /l %%i in (1,1,5) do md %%i --建立從1~5共5個文件夾 for /l %%i in (1,1,5) do rd /q %%i --刪除從1~5共5個文件夾
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。