In Powershell it should be something like this - just change 'c:\' to the top folder you want to query.
Set-Location 'c:\'
Get-ChildItem -Recurse | Where-Object {$_.PSIsContainer -eq $false} | Select-Object Name, Directory, @{n="Size"; e={$_.Length}}, CreationTime, LastWriteTime | Format-Table
You can see if this is any quicker.
However with that many directories & files, I can't see any solution being particularly quick.