forfiles命令詳解

2022-01-29 03:00:55 字數 2735 閱讀 1082

目錄複製命令:

xcopy//server/bak/*.*    d:/serverbak /s /e /v /c / d /y /h            

at 05:30 shutdown -s -f

說明:xcopy命令引數可以用xcopy/?檢視

at 05:30 shutdown -s -f       表示5:30分自動關機

forfiles命令:

forfiles [/p path ] [/m searchmask ] [/s ] [/c command ] [/d ]

引數列表

/p path

指定path ,表明要從**開始搜尋。預設的資料夾是當前工作目錄,該目錄通過鍵入句號(.) 指定。

/m searchmask

按照searchmask 搜尋檔案。預設的searchmask 是*.* 。

/s指示forfiles 在子目錄中搜尋。

/c command

在每個檔案上執行指定的command 。帶有空格的命令字串必須用引號括起來。預設的command 是"cmd /c echo @file" 。

/d

選擇日期大於或等於(+ )(或者小於或等於(- ))指定日期的檔案,其中mm / dd / yyyy 是指定的日期,dd 是當前日期減去dd 天。如果未指定+ 或- ,則使用+ 。dd 的有效範圍是0 - 32768。

在命令提示符下顯示幫助。

刪除三天前的檔案

forfiles /p i:/serverbak/2005 /s /m *.* /d -2 /c "cmd /c del @file"

/p 指定的路徑

/s 包括子目錄

/m 查詢的檔名掩碼

/d 指定日期,有絕對日期和相對日期, 此處-7指當前日期 的7天前  

/c 執行的命令列   表示為每個檔案執行的命令。命令字串應該用雙引號括起來。          

預設命令是 "cmd /c echo @file"。下列變數

可以用在命令字串中:

@file    - 返回檔名。

@fname   - 返回不帶副檔名的檔名。

@ext     - 只返回檔案的擴充套件。

@path    - 返回檔案的完整路徑。

@relpath - 返回檔案的相對路徑。

@isdir   - 如果檔案型別是目錄,返回 "true"; 如果是檔案,返回 "false"。

@fsize   - 以位元組為單位返回檔案大小。

@fdate   - 返回檔案上一次修改的日期。

@ftime   - 返回檔案上一次修改的時間。

示例要列出驅動器 c: 上的所有批處理檔案,請鍵入:

forfiles /p c:/ /s /m*.bat /c"cmd /c echo @file is a batch file"

要列出驅動器 c: 上的所有目錄,請鍵入:

forfiles /p c:/ /s /m*.* /c"cmd /c if @isdir==true echo @file is a directory"

要列出驅動器 c: 上存在時間多於 100 天的所有檔案,請鍵入:

forfiles /p c:/ /s /m*.* /dt-100 /c"cmd /c echo @file :date >= 100 days"

要列出驅動器 c: 上 1993 年 1 月 1 日以前建立的所有檔案,而且對於日期早於 1993 年 1 月 1 日的檔案顯示「file is quite old!」,請鍵入:

forfiles /p c:/ /s /m*.* /dt-01011993 /c"cmd /c echo @file is quite old!"

要按列格式列出驅動器 c: 上所有檔案的副檔名,請鍵入:

forfiles /p c:/ /s /m*.* /c "cmd /c echo extension of @file is 0x09@ext0x09" with:

要列出驅動器 c: 上的所有批處理檔案,請鍵入:

forfiles /p c:/ /s /m *.bat /c "cmd /c echo @file is a batch file"

要列出驅動器 c: 上的所有目錄,請鍵入:

forfiles /p c:/ /s /m *.* /c "cmd /c if @isdir==true echo @file is a directory"

要列出驅動器 c: 上存在時間多於 100 天的所有檔案,請鍵入:

forfiles /p c:/ /s /m *.* /d t-100 /c "cmd /c echo @file :date >= 100 days"

要列出驅動器 c: 上 1993 年 1 月 1 日以前建立的所有檔案,而且對於日期早於 1993 年 1 月 1 日的檔案顯示「file is quite old!」,請鍵入:

forfiles /p c:/ /s /m *.* /d t-01011993 /c "cmd /c echo @file is quite old!"

要按列格式列出驅動器 c: 上所有檔案的副檔名,請鍵入:

forfiles /p c:/ /s /m*.* /c "cmd /c echo extension of @file is 0x09@ext0x09"

forfiles命令詳解

刪除三天前的檔案 forfiles p i serverbak 2005 s m d 2 c cmd c del file 說明 forfiles是2003自帶的命令,非常好用,詳細可以forfiles 查詢。可以複製到xp中使用,複製到2000中測試失敗。forfiles p 指定的路徑 s 包括...

批處理備份及刪除,forfiles命令詳解

備份 xcopy server bak d serverbak s e v c d y h at 05 30 shutdown s f 說明 xcopy命令引數可以用xcopy 檢視 at 05 30 shutdown s f 表示5 30分自動關機 刪除三天前的檔案 forfiles p i se...

批處理備份及刪除,forfiles命令詳解

備份 xcopy server bak d serverbak s e v c d y h at 05 30 shutdown s f 說明 xcopy命令引數可以用xcopy 檢視 at 05 30 shutdown s f 表示5 30分自動關機 刪除三天前的檔案 forfiles p i se...