我有一个文件夹,里面有很多子文件夹,每个子文件夹都包含一个 .cpp 文件和多个不重要的文件。我想运行一个命令,进入每个子文件夹并删除文件夹本身和 .cpp 文件以外的所有内容。
我尝试过这个命令但它只是删除了文件夹本身:
gci -Path $path | ? {!($_.Name -ilike "*.cpp")} | % { Remove-Item -Path $_.FullName }
先感谢您!
我有一个文件夹,里面有很多子文件夹,每个子文件夹都包含一个 .cpp 文件和多个不重要的文件。我想运行一个命令,进入每个子文件夹并删除文件夹本身和 .cpp 文件以外的所有内容。
我尝试过这个命令但它只是删除了文件夹本身:
gci -Path $path | ? {!($_.Name -ilike "*.cpp")} | % { Remove-Item -Path $_.FullName }
先感谢您!
如果所有文件夹中至少有一个
.cpp
,那么您只需关心查找所有没有扩展名的文件并.cpp
删除它们,因此,在您的调用中添加-Recurse
和:-File
-Exclude *.cpp
Get-ChildItem