“删除早于”批处理脚本的文件

Chi*_*ins 8 batch-file windows-server-2008-r2

因此,在进行备份的工作中,我需要一个批处理脚本,它允许我删除指定目录中的文件,这些文件比可以说的 3 天旧。此脚本将设置为计划任务,每天在指定时间运行。

Mar*_*son 13

forfiles -pc:\pathtofiles\ -m *.rar -d -5 -c "cmd /c del @path"

-5您要删除的文件的年龄在哪里(在这种情况下为 5 天或更早)。此脚本正在删除.rar文件 --m *.rar如果要删除任何文件类型,请删除 。


Nat*_*ate 8

如果 powershell 是可以接受的(应该是,因为它在 Server 2008+ 上默认启用)试试这个:

$numberOfDays = 3
$Now = Get-Date
$TargetFolder = “C:\myoldfiles”
$LastWrite = $Now.AddDays(-$numberOfDays)
$Files = get-childitem $TargetFolder -include *.bak, *.x86 -recurse | Where {$_.LastWriteTime -le “$LastWrite”} 

foreach ($File in $Files)
{
    write-host “Deleting File $File” -foregroundcolor “Red”;
    Remove-Item $File | out-null
} 
Run Code Online (Sandbox Code Playgroud)

在这里

  • +1。此外,出于测试目的,您可以添加“-whatif”标志:`Remove-Item $File -whatif | 出空`。要作为 sched 任务运行,作业应指定 powershell.exe 的完整路径,并将您的脚本命名为参数。 (2认同)