如何使用 PowerShell 删除具有特定名称的文件/文件夹(仅当该文件夹中存在具有特定扩展名的另一个文件时)?

如何使用 PowerShell 删除具有特定名称的文件/文件夹(仅当该文件夹中存在具有特定扩展名的另一个文件时)?

作为开发人员,我有许多文件binobj需要清理,以释放一些空间。我可以使用以下脚本:

Get-ChildItem .\ -include bin,obj -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }

但是,为了安全起见,我只希望在包含binobj文件夹的文件夹中有以.csproj.sln扩展名的文件时才删除它们。可以吗?

答案1

我不擅长使用 PowerShell,所以我编写了一个 CLI 工具来完成这项任务。你可以查看这个GitHub 上的 NetCleaner

你需要.NET 6.0 或更高版本

dotnet tool install -g NetCleaner

# List (run in WhatIf mode)
netclean -s

实际删除文件/文件夹:

netclean -s -d

相关内容