首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Get-ChildItem文件/文件夹

Get-ChildItem文件/文件夹
EN

Stack Overflow用户
提问于 2012-12-25 21:02:19
回答 2查看 5.7K关注 0票数 1

我正在尝试让Get-ChildItem检索文件夹的内容,并显示文件夹中每个对象的大小、名称和对象类型(文件/目录)。然而,只有这三个列才能工作,我遇到了麻烦。

名称和长度非常简单,但是如何显示文件和文件夹之间的差异呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-25 21:20:50

检查PSIsContainer属性。对于文件夹,它设置为$true;对于文件,它设置为$false。下面是一个例子:

代码语言:javascript
复制
Get-ChildItem | Foreach-Object{
    New-Object PSObject -Property @{
        Name = $_.Name
        SizeMB = if($_.PSIsContainer) { (Get-ChildItem $_.FullName -Recurse | Measure-Object Length -Sum).Sum/1mb  } else {$_.Length}
        Type = if($_.PSIsContainer) {'Directory'} else {'File'}
    }
}
票数 5
EN

Stack Overflow用户

发布于 2019-08-22 23:06:20

我相信,通过获取“模式”信息,这是可能的。(请参阅此答案here )

基本上,Get-ChildItem命令列出的任何“模式”都以"d“开头。

如果你不想看@Joey的答案,下面是“模式”中6个可能值的实际含义:

在任何情况下,完整的列表是:

D-目录a-归档r-只读h-隐藏s-系统l-重解析点、符号链接等。

所以我用它来输出一个CSV,然后我将在excel、my Flow或SharePoint中标记文件夹。我使用的命令是:

代码语言:javascript
复制
Get-ChildItem -Recurse | Select-Object DirectoryName, BaseName, Extension, Mode | Export-Csv -Path INSERTPATH\listings.csv -Encoding ascii -NoTypeInformation

希望这篇文章能帮助任何遇到它的人。

注意,这是我第一次带着回答的全部意图回答问题。我相信,即使这是6年前的事情,人们在尝试实现同样的事情时仍然会发现它是有用的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14030871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档