FOR這條命令基本上都被用來處理文本,但還有其他一些好用的功能!
看看他的基本格式(這里我引用的是批處理中的格式,直接在命令行只需要一個%號)
FOR 參數(shù) %%變量名 IN (相關(guān)文件或命令) DO 執(zhí)行的命令
參數(shù):FOR有4個參數(shù) /d /l /r /f 他們的作用我在下面用例子解釋
%%變量名 :這個變量名可以是小寫a-z或者大寫A-Z,他們區(qū)分大小寫,FOR會把每個讀取到的值給他;
IN:命令的格式,照寫就是了;
(相關(guān)文件或命令) :FOR要把什么東西讀取然后賦值給變量,看下面的例子
do:命令的格式,照寫就是了!
執(zhí)行的命令:對每個變量的值要執(zhí)行什么操作就寫在這.
可以在CMD輸入for /?看系統(tǒng)提供的幫助!對照一下
FOR %%variable IN (set) DO command [command-parameters]
%%variable 指定一個單一字母可替換的參數(shù)。
(set) 指定一個或一組文件。可以使用通配符。
command 指定對每個文件執(zhí)行的命令。
command-parameters 為特定命令指定參數(shù)或命令行開關(guān)。 現(xiàn)在開始講每個參數(shù)的意思
/d 僅為目錄
如果 Set (也就是我上面寫的 "相關(guān)文件或命令") 包含通配符(* 和 ?),將對與 Set 相匹配的每個目
錄(而不是指定目錄中的文件組)執(zhí)行指定的 Command。
系統(tǒng)幫助的格式:FOR /D %%variable IN (set) DO command
他主要用于目錄搜索,不會搜索文件,看這樣的例子
@echo off for /d %%i in (*) do @echo %%i pause |
把他保存放在C盤根目錄執(zhí)行,就會把C盤目錄下的全部目錄名字打印出來,而文件名字一個也不顯示!
在來一個,比如我們要把當前路徑下文件夾的名字只有1-3個字母的打出來
@echo off for /d %%i in (???) do @echo %%i pause |
這樣的話如果你當前目錄下有目錄名字只有1-3個字母的,就會顯示出來,沒有就不顯示了
思考題目:
@echo off for /d %%i in (window?) do @echo %%i pause |
保存到C盤下執(zhí)行,會顯示什么呢?自己看吧!
/D參數(shù)只能顯示當前目錄下的目錄名字,這個大家要注意!
/R 遞歸
進入根目錄樹 [Drive:]Path,在樹的每個目錄中執(zhí)行 for 語句。如果在 /R 后沒有指定目錄,則認為是當前目錄。如果 Set 只是一個句點 (.),則只枚舉目錄樹。
系統(tǒng)幫助的格式:FOR /R [[drive:]path] %%variable IN (set) DO command
上面我們知道,/D只能顯示當前路徑下的目錄名字,那么現(xiàn)在這個/R也是和目錄有關(guān),他能干嘛呢?放心他比 /D強大多了!
他可以把當前或者你指定路徑下的文件名字全部讀取,注意是文件名字,有什么用看例子!
新聞熱點
疑難解答