正在使用Powershell脚本删除Exchange server.log文件

正在使用Powershell脚本删除Exchange server.log文件,powershell,Powershell,这是我删除旧日志文件(超过7天)的当前代码 文件被称为E00000****.log 文件夹中不应删除的文件为.log 比旧的文件,但我似乎无法使其工作 如果有人愿意花时间来解释我将如何继续并做到这一点,我将非常感激。我有som编程知识,但正在努力学习powershell。多谢各位 我想你想要: $time = (Get-Date).AddDays(-7) $path = "C:\Source_Folder" Get-ChildItem -path = $path -include E00000*

这是我删除旧日志文件(超过7天)的当前代码 文件被称为
E00000****.log
文件夹中不应删除的文件为.log 比旧的文件,但我似乎无法使其工作

如果有人愿意花时间来解释我将如何继续并做到这一点,我将非常感激。我有som编程知识,但正在努力学习powershell。多谢各位

我想你想要:

$time = (Get-Date).AddDays(-7)
$path = "C:\Source_Folder"
Get-ChildItem -path = $path -include E00000*.log -Recurse -Force | `
Where-Object {$_.LastWriteTime -lt $time } | `
Remove-Item -Force -Recurse -ErrorAction SilentlyContinue

再次表示歉意,因为我今天早上跑得很慢。

这是我在删除超过30天的.temp文件的代码中找到的标志。但这可能是错误的。我不带旗子试试。是否有一个不同的标志更合适?对不起,大脑还没有启动。给我一分钟,如果没有比这更聪明的人过来,我会回答。我会尽可能接受任何意见。谢谢。好的,那么您想删除“$path”中任何名为“E00000*.log”的文件并包括子目录,对吗?只要它超过7天就行了?但我似乎无法让它工作。你能解释一下它为什么不能达到你的预期吗?就我所知,它工作得很好!非常感谢。明天我将在我们这里的一台Exchange服务器上进行适当的测试。我不确定上面的代码是否是您的原始代码,因为有人编辑了它(假设添加了
code
标记),但您的代码中有一些无关的内容,因此,我删除了它,并将您的
Get ChildItem
请求更改为完全符合您正在搜索的内容。祝你好运
$time = (Get-Date).AddDays(-7)
$path = "C:\Source_Folder"
Get-ChildItem "$path\E00000*.log" -Recurse | Where-Object {$_.LastWriteTime -lt $time } | Remove-Item -Force