格式:FOR [參數(shù)] %%變量名 IN (相關(guān)文件或命令) DO 執(zhí)行的命令
作用:對(duì)一個(gè)或一組文件,字符串或命令結(jié)果中的每一個(gè)對(duì)象執(zhí)行特定命令,達(dá)到我們想要的結(jié)果。
注意:在批處理文件中使用 FOR 命令時(shí),指定變量請(qǐng)使用 %%variable,而不要用 %variable。變量名稱是區(qū)分大小寫的,所以 %i 不同于 %I.
關(guān)于:for命令可以帶參數(shù)或不帶參數(shù),帶參數(shù)時(shí)支持以下參數(shù):/d /l /r /f
下面分別解釋一下
零:無參數(shù)時(shí):
---
FOR %variable IN (set) DO command [command-parameters]
%variable 指定一個(gè)單一字母可替換的參數(shù)。
(set) 指定一個(gè)或一組文件。可以使用通配符。
command 指定對(duì)每個(gè)文件執(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]
這個(gè)參數(shù)主要用于目錄搜索,不會(huì)搜索文件,/D 參數(shù)只能顯示當(dāng)前目錄下的目錄名字。(TTT特別說明:只會(huì)搜索指定目錄下的目錄,不會(huì)搜索再下一級(jí)的目錄。)
TTT示例:
for /d %%i in (c:/*) do echo %%i --顯示c盤根目錄下的所有目錄
for /d %%i in (???) do echo %%i --顯示當(dāng)前目錄下名字只有1-3個(gè)字母的目錄
二、參數(shù) /R (搜索指定路徑及所有子目錄中與set相符合的所有文件)
格式:FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
此命令會(huì)搜索指定路徑及所有子目錄中與set相符合的所有文件,注意是指定路徑及所有子目錄。
1、set中的文件名如果含有通配符(?或*),則列舉/R參數(shù)指定的目錄及其下面的所用子目錄中與set相符合的所有文件,無相符文件的目錄則不列舉。
2、如果set中為具體文件名,不含通配符,則枚舉該目錄樹(即列舉該目錄及其下面的所有子目錄)(并在后面加上具體的文件名),而不管set中的指定文件是否存在。
例:for /r c:/ %%i in (*.exe) do echo %%i --把C盤根目錄,和每個(gè)目錄的子目錄下面全部的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é)束的一個(gè)數(shù)字序列。可以使用負(fù)的 Step)
新聞熱點(diǎn)
疑難解答