有一个关于Remove-Item以及-Recurse和-Exclude参数的问题。在远程计算机上,我想递归地删除所有子目录/文件,但一个特定文件除外,但是当我运行以下文件时,父目录中的所有内容都将被删除,并且-Exclude参数似乎被忽略了。
Invoke-Command -Computer MyRemoteComputer -ScriptBlock {Remove-Item $args -Force -Recurse -Exclude 'C:\Folder\Startup.ps1'} -ArgumentList 'C:\Folder\'
当我查看documentation for Remove-Item时,确实看到了有关已知问题的一行,但是他们没有提供有关已知问题可能是什么的详细信息。
Because the Recurse parameter in Remove-Item has a known issue...
关于我在做什么错的任何建议或想法?
答案 0 :(得分:0)
我无法找到已知问题,但这似乎确实有用。
调用命令-计算机MyRemoteComputer-脚本块{Get-ChildItem -路径C:\ Folder -Include *-递归|删除项目-排除Startup.ps1-递归-Force}
由于Get-ChildItem
的结果是我们要删除的结果,因此我们需要-Recurse
来删除所有子文件夹及其内容,但是Remove-Item不会在未指定{{1}的情况下删除子文件夹及其内容}。
希望这可以避免Remove-Item上的“已知问题”。