如何删除超过X小时或分钟的文件?

时间:2016-05-14 11:12:31

标签: batch-file

如何删除超过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 个答案:

答案 0 :(得分:2)

@echo off

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

pause

替换"。"与您的工作目录  以下是 npocmaka

给出的FileDateFilterJS.bat

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

  

请注意,如果您希望文件OLDER超过10天,则需要指定-d   &#34; -10&#34 ;. -ve表示比#34;年龄大,+ ve表示&#34;比&#34;更新。你也可以   指定DDMMYY或-DDMMYY格式作为-d。

的参数      

如果您的计算机上没有安装forfiles,请从中复制   Windows Server 2003到Windows XP计算机的%WinDir%\ system32。   这是可能的,因为EXE在Windows之间完全兼容   Server 2003和Windows XP。

Batch file to delete files older than N hours or minutes

这也可能有所帮助。

希望我帮助过。

答案 1 :(得分:1)

Rishav发布的工具/答案可以帮助你,虽然他们没有经过如此严格的测试(他发布的行应该可以工作)。为了防止你的查询,你可能需要一些更多的命令行开关。 以下是WSH version of filetimefilter的示例:

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

这将在c:\somedir中显示超过10小时的文件(它不是递归的)。希望这会有所帮助。

相关问题