如何使用获取子项将基本文件夹包括在子文件夹列表中? [英] How do I include the base folder in the list of sub-folders using get-childitem?
本文介绍了如何使用获取子项将基本文件夹包括在子文件夹列表中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望在子目录列表中包括基文件夹。
如果我使用Get-ChildItem并搜索文件夹:
$startFolder = "C:Scripts"
Get-ChildItem $startfolder -recurse |
Where-Object {$_.PSIsContainer -eq $True} |
Select FullName
我得到一个子文件夹列表,如下所示:
C:Scriptsfolder1
C:Scriptsfolder2
C:Scriptsfolder2folderA
我希望看到:
C:Scripts <-- include the starting folder
C:Scriptsfolder1
C:Scriptsfolder2
C:Scriptsfolder2folderA
我在TechNet上看到这样一个例子:
$startFolder = "C:Scripts"
$colItems = (Get-ChildItem $startFolder | Measure-Object -property length -sum)
"$startFolder -- " + "{0:N2}" -f ($colItems.sum / 1MB) + " MB"
$colItems = (Get-ChildItem $startFolder -recurse | Where-Object {$_.PSIsContainer -eq $True} | Sort-Object)
foreach ($i in $colItems)
{
$subFolderItems = (Get-ChildItem $i.FullName | Measure-Object -property length -sum)
$i.FullName + " -- " + "{0:N2}" -f ($subFolderItems.sum / 1MB) + " MB"
}
他们把它分成两部分。处理起始文件夹,然后处理子文件夹。这是唯一的方法吗?还是可以将起始文件夹包括在一个命令中?
这似乎是一件很简单的事情...
推荐答案
一个解决方案:
$startFolder = "C:Scripts"
$(Get-Item $startFolder
Get-ChildItem $startfolder -recurse |
Where-Object {$_.PSIsContainer -eq $True}) |
Select FullName
为您的$startFolders添加Get-Item
,并将其与您的Get-ChildItem
一起放在sub-expression
中,这样它们都在同一个集合中。
这篇关于如何使用获取子项将基本文件夹包括在子文件夹列表中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文