我正在尝试可靠地获取PowerShell脚本中的子文件夹数。由于速度慢,我避免使用Get-ChildItems,而是尝试使用C#。请看图片。语法似乎适用于文件,但不适用于子文件夹。返回文件的正确计数,但不返回文件夹的正确计数。这可能是一个简单的修复,但它是相当恼人的。

代码示例:
ForEach ($SubDir in ($DirObjects | ?{$_.PSIsContainer})){
$NoOfex4Files = [System.IO.Directory]::EnumerateFiles($SubDir.FullName, '*.ex4')| Measure-Object| %{$_.Count}
$NoOfmq4Files = [System.IO.Directory]::EnumerateFiles($SubDir.FullName, '*.mq4')| Measure-Object| %{$_.Count}
$NoOfSubFolder = [System.IO.Directory]::EnumerateDirectories($SubDir.FullName,'*')| Measure-Object| %{$_.Count}
#$NoOfSubFolder= [System.IO.DirectoryInfo]::new($SubDir.FullName)::GetDirectories| Measure-Object| %{$_.Count}发布于 2021-08-22 16:17:03
#SOl 1 $NoOfSubFolder = [System.IO.Directory]::EnumerateDirectories($SubDir.FullName, '*','TopDirectoryOnly')| Measure-Object| %{$_.Count}
## NOT THIS $NoOfSubFolder= [System.IO.DirectoryInfo]::new($SubDir.FullName)::GetDirectories| Measure-Object| %{$_.Count}
#SOL2 $NoOfSubFolder= (Get-ChildItem $SubDir.FullName -Recurse -Directory | Measure-Object).Count
#SOL3 $NoOfSubFolder = Get-ChildItem $SubDir.FullName -Recurse |? { $_.PSIsContainer } |Measure-Object |select -Expand Counthttps://stackoverflow.com/questions/68881353
复制相似问题