【发布时间】:2013-08-28 15:10:52
【问题描述】:
大家好,所以我写了这个脚本来自动删除指定文件夹中的文件。
$oldTime = [int]25 # 0 days
$old2Time = [int] 10
foreach ($path in "C:\Test") {
Write-Host "Trying to delete files older than days, in the folder $path" -
ForegroundColor Green
# Write information of what it is about to do
Get-ChildItem $path -Recurse -Include "*.txt", "*.docx", "*.xlsx" #| WHERE
{($_.CreationTime -le $(Get-Date).AddDays($oldTime))} #| Remove-Item -Recurse -Force}
if ($_.CreationTime -le $(Get-Date).AddDays(-$oldTime))
{
Remove-Item -Recurse -Force
}
elseif ($_.CreationTime -le $(Get-Date).AddDays(-$old2Time))
{
Remove-Item -Recurse -Force
}
}
# deleting the old files
当我只检查一次并删除任何较旧的东西时,它就可以工作。但是现在我希望它检查是否存在任何超过一定天数的文件,然后删除它们。如果不是,则检查超过另一个天数。但是当我运行它时,我在命令管道位置 1 处得到“cmdlet Remove-Item” 为以下参数提供值: 路径[0]:"
有人知道我做错了什么吗?谢谢
【问题讨论】: