首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否将Get-Item与Get-ChildItem结合?

问是否将Get-Item与Get-ChildItem结合?
EN

Stack Overflow用户
提问于 2012-08-14 03:53:26
回答 3查看 4.3K关注 0票数 3

我以为我用$containers = Get-ChildItem -path $Path -recurse | ? {$_.psIscontainer -eq $true}获得了所有的容器,但它似乎只返回了我的$Path的子目录。我真的希望$containers包含$Path及其子目录。我试过这个:

代码语言:javascript
复制
$containers = Get-Item -path $Path | ? {$_.psIscontainer -eq $true}
$containers += Get-ChildItem -path $Path -recurse | ? {$_.psIscontainer -eq $true}

但它不允许我这样做。我使用Get-ChildItem是错误的吗,或者我如何通过将Get-Item和Get-ChildItem与-recurse相结合来让$containers包含$Path及其$subdirectories?

EN

回答 3

Stack Overflow用户

发布于 2012-08-14 04:37:20

在第一次调用get-item时,您没有将结果存储在数组中(因为它只有1项)。这意味着您不能在get-childitem行中将数组附加到该数组。只需将结果包装在如下所示的@()中,即可强制容器变量成为数组:

代码语言:javascript
复制
$containers = @(Get-Item -path $Path | ? {$_.psIscontainer})
$containers += Get-ChildItem -path $Path -recurse | ? {$_.psIscontainer}
票数 5
EN

Stack Overflow用户

发布于 2012-08-14 14:27:14

使用Get-Item获取父路径,使用Get-ChildItem获取父子节点:

代码语言:javascript
复制
$parent = Get-Item -Path $Path
$child = Get-ChildItem -Path $parent -Recurse | Where-Object {$_.PSIsContainer}
$parent,$child
票数 1
EN

Stack Overflow用户

发布于 2012-08-14 04:04:34

下面的方法对我很有效:

代码语言:javascript
复制
$containers = Get-ChildItem -path $Path -recurse | Where-object {$_.psIscontainer}

我最终得到的是$path的$path和所有子目录。

在您的示例中,您有$.psIscontainer,但它应该是$_.psIscontainer。这可能也是您的命令的问题所在。

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

https://stackoverflow.com/questions/11941316

复制
相关文章

相似问题

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