forfiles.exe下載 最新軟件|熱門排行|軟件分類|軟件專題|廠商大全

您的位置: 首頁文件下載EXE文件 → forfiles.exe(定期刪除、處理文件) for win7/xp

forfiles.exe(定期刪除、處理文件)

for win7/xp forfiles.exe(定期刪除、處理文件) 網(wǎng)友評(píng)分:8

同類相關(guān)軟件

軟件介紹

軟件標(biāo)簽: forfiles.exe .exe

forfiles.exe是一款系統(tǒng)自帶的批量刪除和處理7天以前文件的工具,當(dāng)用戶電腦上缺失這一文件時(shí),往往會(huì)導(dǎo)致批處理失效等等,此工具完美適用于win2003及以上所有系統(tǒng),歡迎下載。

forfiles.exe簡(jiǎn)介:

首先,要說明的是,forfiles是Windows Server 2003內(nèi)置的命令行文件,其它系統(tǒng)未必適用。不過,win2003以上的系統(tǒng),包括win7、windows server 2008均適用哦。

forfiles.exe

forfiles.exe使用方法及代碼:

1. 用批處理文件刪除當(dāng)前目錄下 7 天以前的擴(kuò)展名為bkf文件(以當(dāng)前系統(tǒng)時(shí)間為基準(zhǔn))

例如:

復(fù)制代碼代碼示例:

forfiles /m *.bkf /d -7 /c "cmd /c del @file /f"

2. forfiles 自動(dòng)刪除7天前文件 (以當(dāng)前系統(tǒng)時(shí)間為基準(zhǔn))

示例:

復(fù)制代碼代碼示例:

forfiles /p "d:\test" /s /m *.* /d -7 /c "cmd /c del @path"

d:\test換成你要的目錄路徑; /d -7 指刪除7天以前文件。

3. 刪除所有的空目錄(以刪除d:\test目錄下為例) :

復(fù)制代碼代碼示例:

dir /ad/b/s d:\test\ |sort /r >d:\kill.txt

For /f "tokens=*" %%i in (d:\kill.txt) DO rd "%%i"

del d:\kill.txt

4. 先刪7 天以前文件,再刪所有的空目錄 ;把以下復(fù)制到bat文件中。

復(fù)制代碼代碼示例:

 @echo off

 forfiles /p "d:\test" /s /m *.* /d -7 /c "cmd /c del @path"

 dir /ad/b/s d:\test\ |sort /r >d:\kill.txt

 For /f "tokens=*" %%i in (d:\kill.txt) DO rd "%%i"

 del d:\kill.txt

5. forfiles 命令的用法及參數(shù):

forfiles /p <目標(biāo)目錄名> /d <天數(shù)> /c <執(zhí)行的命令>

/p 指定了要在哪個(gè)目錄里查找文件,默認(rèn)是當(dāng)前工作目錄。

/d 指定一個(gè)日期或天數(shù),用于比較文件的最后修改日期是否符合條件。

/c 對(duì)每個(gè)找到的文件執(zhí)行的命令。

例1.要把在C盤根目錄下最后修改日期大于或等于2010年1月7日的文件復(fù)制到D盤根目錄下:

復(fù)制代碼代碼示例:

forfiles /p "c:\" /d "2007-7-1" /c "cmd /c copy @path d:\"

例2.刪除在C盤backup目錄下最后修改日期在10天前的文件:

復(fù)制代碼代碼示例:

forfiles /p "c:\backup" /d -10 /c "cmd /c echo deleting @file … && del /f @path"

6. forfiles /p 包含要?jiǎng)h除文件的完整路徑(如:F:\Logfiles) /m *.log -d -7 /c "cmd /c del /f @path"

相關(guān)參數(shù)及命令

/p <Path> : 指定開始搜索文件的位置,如果不指定則默認(rèn)為當(dāng)前目錄。

/m <SearchMask> : 文件查找所使用的通配符如代碼中的"*.log"則為所有日志文件,當(dāng)然也可以指定諸如"manmee_*.log"這樣以manmee開頭的所有日志文件。如果不指定此參數(shù)則默認(rèn)為"*.*"。

/d [{+|-}][{<Date>|<Days>}] : 指定想選擇文件的最后修改時(shí)間,上文中用了 "/d -7" 表示所有以當(dāng)天為基礎(chǔ),7天以前的文件。當(dāng)然這里還可以指定具體時(shí)間,例如:"/d -01/7/2010"這樣所有早于2010年1月7日的文件。注意指定的時(shí)間必須是"MM/DD/YYYY"的格式。

/c 對(duì)所有文件以此執(zhí)行指定的命令,命令體須在雙引號(hào)(")內(nèi),默認(rèn)是"cmd /c echo @file"。上文中用到的是"cmd /c del /f @path"刪除指定文件。(這里的@file 和 @path 為變量,下文中將解釋。)

上文中用到的參數(shù):

@PATH : 表示文件的完整的路徑。

@File : 表示文件名稱。

再來介紹下刪除文件夾的操作。

forfiles /p 包含文件夾的路徑(如:F:\) /m 文件夾名稱(如:LogFiles) -d 0 /c "cmd /c if @ISDIR== true rd /s/q @path"

注意這里的"包含文件夾的路徑"不能包含要?jiǎng)h除的文件夾,如以上代碼所表示的就是,在F盤中查找名為L(zhǎng)ogFiles的文件或文件夾(不能指定查找文件夾,不過在刪除時(shí)我們做了判斷)。

這里出現(xiàn)了一個(gè)新的參數(shù)"@ISDIR"他用于判斷當(dāng)前文件類型是否是"文件夾類型",如果是則為true否則為false。

最后再將代碼保存為批處理文件,然后加入計(jì)劃任務(wù)定期執(zhí)行即可。

分享一段我的批處理文件內(nèi)容:

復(fù)制代碼代碼示例:

@echo off

rem ******************************

rem * 按時(shí)間刪除文件目錄的批處理 *

rem ******************************

rem 設(shè)置臨時(shí)目錄的路徑

set tempDir=%tmp%\remove_%date:~0,10%

if not exist %tempDir% md %tempDir%

rem 設(shè)置處理日期的腳本文件的路徑

set scriptFile=%tempDir%\get_date.vbs

rem 獲得要保留的天數(shù)

set days=%~1

if "%days%" == "" goto printUsage

rem 獲得目標(biāo)目錄的路徑

set dirPath=%~2

if "%dirPath%" == "" set dirPath=.

rem 獲得要操作的文件形式

set fileSpec=%~3

if "%fileSpec%" == "" set fileSpec=*.*

rem 生成計(jì)算日期的腳本文件并獲得刪除的截止日期

echo d=date()-%1 > %scriptFile%

echo s=right("0000" ^& year(d),4) ^& "-" ^& right("00" ^& month(d),2) ^& "-" ^& right("00"

^& day(d),2) 》 %scriptFile%

echo wscript.echo s 》 %scriptFile%

for /f %%i in ('cscript /nologo %scriptFile%') do set lastDate=%%i

rem 處理目標(biāo)目錄里的每個(gè)對(duì)象

for /f "tokens=1,2,3* delims=<> " %%i in ('dir "%dirPath%\%fileSpec%" /a /-c /tc') do call

:proc "%%i" "%%j" "%%k" "%%l"

goto :done

rem 處理目標(biāo)目錄里對(duì)象的過程

:proc

rem 獲得對(duì)象的創(chuàng)建日期并判斷是否為有效格式

set fileDate=%~1

echo %fileDate% | findstr "[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]" > nul

if errorlevel 1 goto end

rem 獲得對(duì)象的類型

set fileType=%~3

if "%fileType%" == "" goto end

rem 獲得對(duì)象的名稱

set fileName=%~4

if "%fileName%" == "" goto end

if "%fileName%" == "." goto end

if "%fileName%" == "" goto end

if "%fileName%" == "字節(jié)" goto end

if "%fileName%" == "可用字節(jié)" goto end

rem 判斷對(duì)象日期是否小于或等于刪除的截止日期

if "%fileDate:~0,10%" leq "%lastDate%" (

echo deleting "%fileName%" …

if "%fileType%" == "DIR" ( rd /s /q "%dirPath%\%fileName%" ) else ( del /q /f "%dirPath%\%

fileName%" )

goto end

:error

echo An error occurred during backuping.

:done

rd /s /q %tempDir%

goto end

:printUsage

echo Usage: %0 ^<Days^> [Work directory] [Target file specification (can include wildcards)]

goto end

:end

軟件截圖

下載地址 電腦版

用戶評(píng)論

熱門評(píng)論

最新評(píng)論

發(fā)表評(píng)論 查看所有評(píng)論(0)

昵稱:
請(qǐng)不要評(píng)論無意義或臟話,我們所有評(píng)論會(huì)有人工審核.
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)