例如:_archive
、_DO_NOT_DELETE
、_processing
等。
我使用了下面的代码,但它没有起作用。看起来排除将不会与递归一起工作。有什么想法吗?
$exclude = @("_*")
$source = "C:\code\Powershell\delete empty folders\New folder\"
$allitems = Get-ChildItem $source -Directory -Exclude $exclude -Recurse
foreach($myItem in $allitems)
{
echo $myItem.fullname
}
输出:
C:\code\Powershell\delete empty folders\New folder\New folder\New folder C:\code\Powershell\delete empty folders\New folder\New folder\New folder\New folder C:\code\Powershell\delete empty folders\New folder\New folder\New folder (2) C:\code\Powershell\delete empty folders\New folder\New folder\New folder (3) C:\code\Powershell\delete empty folders\New folder\New folder\New folder (3)\New folder C:\code\Powershell\delete empty folders\New folder\_archive\New folder
因此,如我之前所说,我想要避免以下划线开头的目录,因此最后一行不应出现。
即使我也使用了以下代码,输出结果仍然相同:
$exclude = @("_*")
$source = "C:\code\Powershell\delete empty folders\New folder\"
$allitems = Get-ChildItem $source -Recurse -Directory |
Where {$_.FullName -notlike $exclude}
foreach($myItem in $allitems)
{
echo $myItem.fullname
}
-exclude
开关接受数组。例如,-exclude "*.txt","*.log"
是有效的语法。 - vonPryz\_archive
还是\_archive
? - vonPryz