我试图找到一个PowerShell脚本的解决方案,它可以删除文件夹和子文件夹中的所有文件,比例如早。 31天。
删除文件的数量和文件夹中的文件总数可能会很好。
我应该用它在Slack上发帖,这就是为什么我想拥有多少个文件。
提前致谢。
答案 0 :(得分:2)
要回答部分问题,您可以采取以下方法来完成您所需的大部分工作。我自己用它来清理文件夹。
$Path = C:\test
$DaysBack = "-31"
$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays($DaysBack)
#delete files from $Path directory that are older than $Daysback
Get-ChildItem -Path $Path -Include * -Recurse | Where-Object {$_.LastWriteTime -lt $DatetoDelete} | Remove-Item -ErrorAction SilentlyContinue -Recurse -Force
然后,您需要添加一些日志记录,以便在运行删除之前计算文件和文件夹,以计算您可以使用的文件和文件夹:
Get-ChildItem $Path -Recurse | Measure-Object | ForEach-Object{$_.Count}
或者只是根据您的要求计算文件,您可以在GetChildItem
之后使用-File
参数指定文件:
Get-ChildItem $Path -Recurse -File | Measure-Object | ForEachObject{$_.Count}