$OutputFile = "C:\Reports\DriveFolderReport.
csv"
if (!(Test-Path "C:\Reports")) {
New-Item -ItemType Directory -Path "C:\Reports" | Out-Null
}
$Results = @()
$Drives = Get-PSDrive -PSProvider FileSystem
foreach ($Drive in $Drives) {
Write-Host "Scanning Drive:" $[Link]
Get-ChildItem "$($[Link])" -Directory -ErrorAction SilentlyContinue |
ForEach-Object {
try {
$Files = Get-ChildItem $_.FullName -Recurse -File -ErrorAction
SilentlyContinue
$Results += [PSCustomObject]@{
Drive = $[Link]
FolderPath = $_.FullName
FileCount = $[Link]
Size_MB = [Math]::Round(($Files | Measure-Object Length -
Sum).Sum / 1MB, 2)
}
}
catch {}
}
}
$Results | Export-Csv -Path $OutputFile -NoTypeInformation -Encoding UTF8
Write-Host "Report generated at:" $OutputFile