DOS迴圈 for命令

來源:互聯網
上載者:User

標籤:

如果有什麼命令不懂,可在CMD中輸入:name /?
一、基本格式
FOR %%variable IN (set) DO command [command-parameters] 
%%variable 指定1個單1字母表示可替換的參數。
(set) 指定1個/1組檔案。可用萬用字元。
command 指定對每個檔案執行的命令。
command-parameters 為特定命令指定參數/命令列開關
參數:FOR有4個參數 /d /l /r /f 

二、參數/d

FOR /D %%variable IN (set) DO command [command-parameters]
如果Set包含萬用字元,將對與Set相匹配的每個目錄(而不是指定目錄中的檔案組)執行指定的Command。
這個參數主要用於目錄搜尋,不會搜尋檔案:
@echo off
for /d %%i in (c:\*) do echo %%i
pause
運行會把C盤根目錄下的全部目錄名字列印出來,而檔案名稱字一個也不顯示!
@echo off
for /d %%i in (???) do echo %%i
pause
如果目前的目錄下有目錄名字只有1-3個字母的,就會顯示出來,沒有就不顯示了
/D參數只能顯示目前的目錄下的目錄名字!

 

三、參數/R
FOR /R [[drive:]path] %%variable IN (set) DO command [command-parameters]
檢查以[drive:]path為根的分類樹,指向每個目錄中的FOR語句。如果在/R後沒有指定目錄,則使用當前目錄。如果集僅為一個單點(.)字元,則枚舉該分類樹。
遞迴
/D 只能顯示當前路徑下的目錄名字,/R可把當前/指定路徑下的檔案名稱字全部讀取!
注意2點:
1、set中的檔案名稱如果含萬用字元,則列舉/R參數指定的目錄及其下面的所用子目錄中與set相符合的所有檔案,無相符檔案的目錄則不列舉。
2、set中為具體檔案名稱,不含萬用字元,則枚舉該分類樹(即列舉該目錄及其下面的所有子目錄),而不管set中的指定檔案是否存在。這與前面所說的單點(.)枚舉分類樹是一個道理,單點代表目前的目錄,也可視為一個檔案。
@echo off
for /r c:\ %%i in (*.exe) do echo %%i
pause
咱們把這個BAT儲存到D盤隨便哪裡執行,就會看到,他把C盤根目錄和每個目錄的子目錄下面全部的EXE檔案都列出來了
@echo off
for /r %%i in (*.exe) do @echo %%i
pause
以目前的目錄為搜尋路徑
@echo off
for /r c:\ %%i in (boot.ini) do echo %%i
pause
枚舉c盤所有目錄,為了只列舉boot.ini存在的目錄,可改成:
@echo off
for /r c:\ %%i in (boot.ini) do if exist %%i echo %%i
pause
用這條命令搜尋檔案真不錯...

 

 

 

 

DOS迴圈 for命令

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.