所以我有一行代码用于从多个文件夹中删除内容,但有一个文件夹的内容我不想删除。所以如果我有文件夹 A、B、C、D 和 E,我想从这些文件夹中删除除文件夹 C 之外的所有文件。我试过“-exclude”函数和“?{$folder -ne“C”}”以及其他一些函数,但都不起作用。我确信这非常简单,但有人能帮我吗?我目前的一行代码是:
Remove-Item \\HQDEVAPP004\C$\LoneStar\ProcessorHandlers\C\*.* -Recurse -Force
谢谢你!
答案1
因此,我能够通过@Silbee 在上面的评论中发布的链接找到答案。经过相当长一段时间尝试让 -Exclude 函数工作,它就是不起作用。似乎 -Exclude 适用于文件而不是文件夹,但我可能完全错了。下面的代码立即帮助了我。
Get-ChildItem -Path C:\PowerShell\Test -Recurse | ? {($_.FullName -notlike "*C*")} | Remove-Item -Recurse
删除过程跳过了 C 文件夹及其内容,继续删除其他文件夹内容(A、B、D 和 E)。
“?” 是 Where-Object cmdlet 的别名。