删除文件夹中除特定类型文件外的所有文件(但不包括文件夹本身)

问题描述 投票:0回答:1

我有一个包含很多子文件夹的文件夹,每个子文件夹都包含一个 .cpp 文件和多个不重要的文件。我想运行一个进入每个子文件夹的命令,并删除除文件夹本身和 .cpp 文件之外的所有内容。

我已经尝试过这个命令,但它只是删除了文件夹本身:

gci -Path $path | ? {!($_.Name -ilike "*.cpp")} | % { Remove-Item -Path $_.FullName }

提前谢谢您!

powershell command command-prompt
1个回答
0
投票

如果所有文件夹中至少有一个

.cpp
,那么您应该只关心查找所有没有
.cpp
扩展名的文件并删除它们,因此,添加
-Recurse
-File
-Exclude *.cpp
接听您的
Get-ChildItem
电话:

Get-ChildItem -Path $path -File -Recurse -Exclude *.cpp |
    Remove-Item
© www.soinside.com 2019 - 2024. All rights reserved.