我需要删除文件夹“ToDelete”下的一些子文件夹。我正在使用此命令执行此操作:(两者应执行相同的删除操作)。我的问题是ToDelete文件夹下还有一个名为“Do_Not_Copy”的文件夹,该文件夹还包含一个名为“Tools”的文件夹,该文件夹不应被删除。如何保护此“Tools”子文件夹?-排除不起作用。目前的解决方法是对“Tools”文件夹使用重命名项
$DestinationFolder = "\\google\server\ToDelete"
Remove-Item -Path $DestinationFolder\ -Include "Tools", "Support", "Installer", "GUI", "Filer", "Documentation" -Recurse -Exclude "Do_not_copy\SI\Tools" -Force
Get-ChildItem $DestinationFolder\ -Include "Tools", "Support", "Installer", "GUI", "Filer", "Documentation" -Recurse -Force | ForEach-Object { Remove-Item -Path $_.FullName -Recurse -Force }
1条答案
按热度按时间i5desfxk1#
-Recurse
开关无法在Remove-Item上正常工作(它将尝试在删除文件夹中的所有子文件夹之前删除文件夹)。按长度降序排列全名可确保在删除文件夹中的所有子项之前不删除任何文件夹。
试试看
像往常一样,我添加了
-WhatIf
安全开关,所以不会删除任何文件夹,在控制台中您可以看到 * 会 * 发生什么。当您满意正确的文件夹将被删除时,注解掉或删除该-WhatIf
开关,然后再次运行