gpt4 book ai didi

powershell - 如何排除目录

转载 作者:行者123 更新时间:2023-12-03 00:52:47 30 4
gpt4 key购买 nike

我是Powershell脚本的初学者,所以请保持冷静^^

我想删除目录d:\ test中的文件,我仅删除文件15天以上
但我不想删除目录d:\ test中另一个目录上的文件。

我的剧本

#----- define parameters -----#
#----- get current date ----#
$Now = Get-Date
#----- define amount of days ----#
$Days = "15"
#----- define folder where files are located ----#
$TargetFolder = "d:\test"
#----- define extension ----#
$Extension = "*.bak"
#----- define LastWriteTime parameter based on $Days ---#
$LastWrite = $Now.AddDays(-$Days)
#----- get files based on lastwrite filter and specified folder ---#
$Nomatch = "d:\test\ZZ - Archives","d:\test\ZZ - Cloture Paye"

$Files = Get-Childitem $TargetFolder -Include $Extension -Recurse | Where {$_.LastWriteTime -le "$LastWrite"} |
Where-Object {$_.FullName -notmatch "$Nomatch"}

foreach ($File in $Files)
{
if ($File -ne $NULL)
{
write-host "Deleting File $File" -ForegroundColor "DarkRed"
Remove-Item $File.FullName | out-null
}
else
{
Write-Host "No more files to delete!" -foregroundcolor "Green"
}
}

最佳答案

如果您使用的是Powershell 2.0,则仅获取文件:

Get-ChildItem $TargetFolder | Where-Object { ! $_.PSIsContainer }

如果您使用的是Powershell 3.0,请执行以下操作:
Get-ChildItem $TargetFolder -File

我不知道你是否想要 -Recurse。如果您只想要 d:\test的文件,而不想要子目录下的文件,请不要使用 -Recurse

关于powershell - 如何排除目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18442763/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com