【发布时间】:2015-03-19 23:22:34
【问题描述】:
我想在子目录列表中包含基本文件夹。
如果我使用 Get-ChildItem 并搜索文件夹:
$startFolder = "C:\Scripts"
Get-ChildItem $startfolder -recurse |
Where-Object {$_.PSIsContainer -eq $True} |
Select FullName
我得到一个这样的子文件夹列表:
C:\Scripts\folder1
C:\Scripts\folder2
C:\Scripts\folder2\folderA
我想看看:
C:\Scripts <-- include the starting folder
C:\Scripts\folder1
C:\Scripts\folder2
C:\Scripts\folder2\folderA
我在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"
}
他们把它分成两部分。处理起始文件夹,然后处理子文件夹。这是唯一的方法还是可以将起始文件夹包含在一个命令中?
这似乎是一件很简单的事情......
【问题讨论】:
-
can I include root folder to get-childitem output programmatically? 的可能副本。虽然我更喜欢这个答案