Write-Output "=== java ===" Get-Command java -ErrorAction SilentlyContinue | Format-List java -version 2>&1 Write-Output "=== java homes ===" @( 'C:\Program Files\Java', 'C:\Program Files\Eclipse Adoptium', 'C:\Program Files\Microsoft', 'C:\Program Files\Amazon Corretto', 'C:\yutongda\tools' ) | ForEach-Object { if (Test-Path $_) { Write-Output "DIR $_" Get-ChildItem $_ -ErrorAction SilentlyContinue | Select-Object Name } } Write-Output "=== tools ===" Get-Command winget, choco, scoop -ErrorAction SilentlyContinue | Select-Object Name, Source Write-Output "=== free space E/C ===" Get-PSDrive C,E -ErrorAction SilentlyContinue | Format-Table Name, @{n='FreeGB';e={[math]::Round($_.Free/1GB,1)}} Write-Output "DONE"