排除删除特定文件夹的内容

排除删除特定文件夹的内容

所以我有一行代码用于从多个文件夹中删除内容,但有一个文件夹的内容我不想删除。所以如果我有文件夹 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 的别名。

答案2

我也一直在努力让 Remove-Item 工作过滤/排除文件夹。 对我有用。

Get-ChildItem -Path C:\TestFolder -Exclude SubFolder1,SubFolder2 | Remove-Item -Recurse -Force

附言:Powershell 示例如下记录不全-Filter。我的意思是,例如,没有一个例子。

相关内容