我想从源中删除以下文件,但是在源中有一个子目录,其中包含具有相似名称的文件.当我运行以下命令时,它正在删除具有类似文件名的子目录中的文件.有没有办法从源而不是子目录中删除文件?
例如:test_1_file,test_2_file,test_3_file存在于每个目录中,TestFolder和TestFolder/sub
$source = testfolder
remove-item -Path $source -filter test_*_file -recurse -force
Run Code Online (Sandbox Code Playgroud)
通常最简单的方法是将Get-ChildItemcmdlet 的输出传递到其中Remove-Item.然后,您可以使用的较好的滤波Get-ChildItem,因为我觉得-Recurse在Remove-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)
| 归档时间: |
|
| 查看次数: |
552 次 |
| 最近记录: |