MS TechNet Powershell每周提示《提取空文件夹》抓错!

本文修正了一篇Microsoft TechNet Powershell每周提示文章中的脚本错误,该脚本用于找出目录树中的所有空文件夹。原始脚本仅检查文件数量,忽略子文件夹的存在。修正后的脚本同时确保文件夹不含文件和子文件夹。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天无意中游览到了Microsoft TechNet Powershell每周提示中的一篇文章,内容是关于如何用Powershell来提取目录下的空文件夹。具体英文原文地址如下:

Finding All the Empty Folders in a Directory Tree

http://www.microsoft.com/technet/scriptcenter/resources/pstips/may08/pstip0530.mspx

 
这是原文中所用的脚本代码,我仔细看了一下,发现了一个关键性错误。在进行最后第二次筛选时,单使用{GetFiles().Count -eq 0} 来
判断文件夹是否为空是不够正确及严谨的。
我们来测试一下原文的脚本代码,得到如下结果:
实际查看后,显然位于这个目录下的文件夹下并不为空(牵强的说只是该文件夹内不包含任意文件,但可以包含文件夹),还包含了其它文
件夹(这里指fs文件夹),这与我们所要求的目的并不一致。
问题出在哪里呢?就只我之前所说的{GetFiles().Count -eq 0}这一行导致了错误的结果。为了让Powershell正确筛选出目录下不包含空文件
以及空文件夹,我们必须在添加一个逻辑条件就是$_.GetDirectories()必须也为空,正确修改后的脚本如下:
 
取其中一个目录结果验证看看,终于得到正确的结果了!^.^
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值