设置
我有一个看起来像这样的文件夹结构:
C:\RootFolder
\file1.txt
\file2.txt
\license.txt
\Settings
\fileA.txt
\fileB.txt
\settings.txt
\OtherFolders
目标
删除除 license.txt 和 settings.txt 之外的所有文件。
最后,我希望只保留以下内容:
C:\RootFolder
\license.txt
\Settings
\settings.txt
远方的剧本
$exclude = @('license.txt', 'settings.txt')
Get-ChildItem C:\RootFolder -recurse -exclude $exclude | foreach ($_) {remove-item $_.fullname -recurse:$false}
问题
即使我专门指定了 -recurse:$false,它总是会为每个文件夹生成一条消息,指示“未指定递归”并说它将删除所有子项。
在此之后, license.txt 文件仍然存在,但 settings.txt 文件(在子目录中)不会。