Я пытаюсь отфильтровать папки на основе количества файлов в каждой папке.
Мне удалось перечислить имя и значение папки, если значение больше 1. Я пытаюсь исключить папки, которые могут не содержать элементов.
Количество предметов меняется ежедневно.
$Date2 = Get-Date -Format "yyyy-MM-dd"
$Date2Str = '{0:yyyy-MM-dd}' -f $Date2
$startFolder = "U:\test"
#Returns the Count of files in each queue
$colItems = (Get-ChildItem $startFolder -recurse | Where-Object
{$_.PSIsContainer -eq $True} | Sort-Object)
if($colItems -ine $null){
foreach ($i in $colItems)
{
$subFolderItems = (Get-ChildItem $i.FullName | Where-Object
($_.CreationTime -lt $Date2Str -and $_.Name -like "*.tif"))
$i.Name + " -- " -f ($subFolderItems.Count) |Format-Table
@{Expression={$colItems -ge 1}}
Я ожидаю, что выходные данные $ colItems будут именем подфолдера и числом, исключая любой подфолдер с числом меньше 1 или равным 0.
Фактическим возвращением является список Имен подпапок, который включает все вложенные папки, включая те, у которых число равно 0.