"[" and "]" characters mess up get-childitem
Use the -LiteralPath
parameter in place of -Path
to suppress the wildcard globbing. Also, since you're using V4, you can use the -Directory
switch and dispense with the $_.iscontainer
filter:
$folderInfo.directories = Get-ChildItem -LiteralPath $folderInfo.rootFolder -Recurse -Force -Directory
If you have more squre brackets farther down the directory tree, keep using literpath in subsequent Get-ChildItem commands:
$folderInfo.directories += Get-ChildItem -LiteralPath $folderInfo.rootFolder -Recurse -Force -Directory $folderInfo.directories += Get-Item -LiteralPath $folderInfo.rootFolder foreach ($dir in $folderInfo.directories) { $temp2 = Get-ChildItem -LiteralPath $dir.PSPath -Force $temp = (Get-ChildItem -LiteralPath $dir.fullname -Force -File | Measure-Object -Property length -Sum -ErrorAction SilentlyContinue).Sum $folderInfo.totalSize += $temp } return $folderInfo