Jos*_*hua 12 windows powershell
你用什么命令在 Windows 中查找空目录?
某些文件夹可能包含一些隐藏文件夹,例如.svn或.settings,但仍应将它们视为空文件夹。
Win*_*dos 16
我能想到的最简单的方法是使用一个小的PowerShell 脚本。如果您运行的是 Windows 7,您应该已经安装了它,如果没有,请访问 Microsoft.com 下载并安装它。该链接提供了详细说明,但为了您的方便,此处包含了操作的要点。
打开PowerShell并输入:
(gci C:\Scripts -r | ? {$_.PSIsContainer -eq $True}) | ? {$_.GetFiles().Count -eq 0} | select FullName
Run Code Online (Sandbox Code Playgroud)
将 C:\Scripts 更改为您想要搜索的任何内容,如果您希望它检查整个驱动器,您甚至可以将其设置为 C:\。
它会给你这样的输出(注意这些是 C:\Scripts.txt 下的空目录。
全名 ------- C:\脚本\空 C:\脚本\空文件夹 2 C:\Scripts\Empty\Empty 子文件夹 C:\Scripts\New Folder\Empty 子文件夹三层
如果您稍微研究一下 PowerShell,我相信如果您愿意,您将能够弄清楚如何自动删除空文件夹(尽管我建议不要这样做,以防万一。)
编辑:正如理查德在评论中提到的,对于真正空的目录使用:
(gci C:\Scripts -r | ? {$_.PSIsContainer -eq $True}) | ?{$_.GetFileSystemInfos().Count -eq 0} | select FullName
Run Code Online (Sandbox Code Playgroud)
小智 5
以下是我能找到的用一行代码实现这一目标的最简单方法。它列出了当前位置的空目录。如果需要递归,可以将参数-Recurse添加到对 的调用中Get-ChildItem。
Get-ChildItem -Directory | Where-Object { $_.GetFileSystemInfos().Count -eq 0 }
带别名的简短版本:
dir -Directory | ? {$_.GetFileSystemInfos().Count -eq 0 }
或者,作为参数化的 PowerShell 函数(我将此添加到我的 PowerShell 启动配置文件中):
Function Get-EmptyDirectories($basedir) {
Get-ChildItem -Directory $basedir | Where-Object { $_.GetFileSystemInfos().Count -eq 0 }
}
Run Code Online (Sandbox Code Playgroud)
然后可以像任何其他 PowerShell 函数一样调用它,包括管道。例如,此调用将删除系统临时目录中的所有空目录:
Get-EmptyDirectories $env:TMP | del
| 归档时间: |
|
| 查看次数: |
28545 次 |
| 最近记录: |