PowerShell递归计算目录总大小脚本部分非空目录返回空值的问题求助
PowerShell递归计算目录总大小脚本部分非空目录返回空值的问题求助
各位好,我遇到了一个PowerShell脚本的问题,想请教下大家!
我写了一段脚本,用来递归获取目录的完整路径、创建日期、所有者、最后修改时间,同时计算目录下所有文件的总大小,代码如下:
get-childitem -Recurse -force -directory | ForEach-Object {$myfile = $_ new-object psobject -property @{ Fullname = $myfile.fullname CreationDate = $myfile.CreationTime MyOwner = (get-acl $myfile.fullname).owner MyModified = $myfile.LastWriteTime MySize = (gci -path $myfile -FILE -Recurse| measure Length -sum).SUM } } | format-table Fullname, CreationDate, MyOwner, MyModified, MySize
我已经在两台不同的电脑上测试过这个脚本——一台是公司环境的办公电脑,另一台是家里的游戏主机。
脚本运行时没有报错,但出现了奇怪的问题:有些明明不是空目录的文件夹,返回的MySize字段是空值;而那些能正常返回大小的目录,计算结果是正确的。更诡异的是,这些返回空值的目录是按顺序出现的,看起来和文件夹里的内容没有关系。
以下是部分示例输出:
Fullname CreationDate MyOwner MyModified MySize
[示例目录路径1] [日期1] [所有者1] [修改时间1] 1234567
[示例目录路径2] [日期2] [所有者2] [修改时间2]
[示例目录路径3] [日期3] [所有者3] [修改时间3] 8901234
[示例目录路径4] [日期4] [所有者4] [修改时间4]
备注:内容来源于stack exchange,提问作者BaconBurner
相关产品推荐
相关产品推荐

