我为实习编写了一个简单的脚本,它通过提供的目录进行拖拽并删除任何超过指定天数的文件.我今天花了我所有的空闲时间试图收紧它.这是我到目前为止所得到的:
function delOld($dir, $numDays){
$timespan = new-timespan -days $numDays
$curTime = get-date
get-childItem $dir -Recurse -file |
where-object {(($curTime)-($_.LastWriteTime)) -gt $timespan} |
remove-Item -whatif
}
Run Code Online (Sandbox Code Playgroud)
以下是函数调用的示例:
delOld -dir "C:\Users\me\Desktop\psproject" -numDays 5
Run Code Online (Sandbox Code Playgroud)
对于阅读的难度感到抱歉,我发现将操作压缩到一行比在每次迭代中将它们重新分配给清晰变量更有效.出于测试目的,此时删除项目已被删除.我知道在这一点上,我可能无法加快速度,但是,我在TB文件上运行它,所以每个操作都很重要.
提前感谢您提供的任何建议!