2016-05-14 199 views
0

如何刪除超過X小時或分鐘的文件?如何刪除超過X小時或分鐘的文件?

我有一個目錄這是老年人超過1天刪除文件的批處理文件,但我需要的分鐘和小時。

REM Remove files older than 1 day 
forfiles /p "C:\Users\Username\Downloads" /s /m *.* /c "cmd /c Del @path" /d -1 
+2

重複[查找文件是否超過4小時在批處理文件](http://stackoverflow.com/questions/6928552/find-out-if-file-is-older-than-4-hours-在批處理文件)。 – Mofi

回答

2
@echo off 

for /f "tokens=* delims=" %%# in ('FileDateFilterJS.bat "." -hh -5') do (
    echo deleting "%%~f#" 
    echo del /q /f "%%~f#" 
) 

pause 

替換 「」與你的工作目錄 這裏是FileDateFilterJS.bat通過npocmaka

https://github.com/npocmaka/batch.scripts/blob/master/hybrids/.net/FileTimeFilerJS.bat

給IF這不起作用給下面的代碼射門雖然上面的代碼工作對我來說,下面的代碼將工作天數而不是小時數。

forfiles -p "C:\what\ever" -s -m *.* /D -<number of days> /C "cmd /c del @path" 

Batch file to delete files older than N days

需要注意的是,如果你想超過10天以上的文件,你需要指定-d 「-10」。 -ve意思是「比...更老」,+ ve意思是「比...更新」。您還可以使用 指定DDMMYY或-DDMMYY格式作爲-d的參數。

如果您的計算機上沒有安裝forfiles,請將其從任何 Windows Server 2003複製到位於%WinDir%\ system32的Windows XP計算機。 這是可能的,因爲EXE在Windows Server 2003和Windows XP之間完全兼容。

Batch file to delete files older than N hours or minutes

這可能幫助了。

希望我幫了忙。

+0

我不需要N天,我需要幾小時或幾分鐘! –

+0

更新了幾小時... – Rishav

+0

和我在哪裏插入文件的位置?[目錄] rg:「C:\ Users \ Username \ Downloads」 –

1

發表Rishav工具/答案應該幫助你,儘管他們不那麼頻繁的測試(發表了他此行應該工作,雖然)。爲了防彈您的查詢可能需要一些更多的FRE命令行開關。 下面是與WSH version of filetimefilter一個例子:

call filetimefilterjs.bat "C:\somedir" -hh -10 -direction after -filetime created 

這將顯示文件c:\somedir更新超過10小時(但不是遞歸)。希望這會有所幫助。