使用Remove-Item cmdlet但不包括子目录

Mik*_*ike 1 powershell

我想从源中删除以下文件,但是在源中有一个子目录,其中包含具有相似名称的文件.当我运行以下命令时,它正在删除具有类似文件名的子目录中的文件.有没有办法从源而不是子目录中删除文件?

例如:test_1_file,test_2_file,test_3_file存在于每个目录中,TestFolderTestFolder/sub

$source = testfolder 
remove-item -Path $source -filter test_*_file -recurse -force
Run Code Online (Sandbox Code Playgroud)

Ben*_*enH 7

通常最简单的方法是将Get-ChildItemcmdlet 的输出传递到其中Remove-Item.然后,您可以使用的较好的滤波Get-ChildItem,因为我觉得-RecurseRemove-Item有一些问题.您甚至可以Where-Object在传递之前使用进一步过滤Remove-Item

$source = testfolder
Get-ChildItem -Path $source -Filter test_*_file -Recurse |
    Where-Object {$_.Fullname -notlike "$source\sub\*"} |
    Remove-Item -Force
Run Code Online (Sandbox Code Playgroud)