
Disco • CMD
Analisi spazio occupato
Analizza lo spazio disponibile e misura le principali cartelle del profilo utente senza eliminare o modificare alcun file.
>_ sorgente
:: Titolo: Analisi spazio occupato
:: Descrizione: Analizza lo spazio disponibile e misura le principali cartelle del profilo utente senza eliminare o modificare alcun file.
:: Categoria: disco
:: Compatibilita: Windows 10 e Windows 11
:: Amministratore: No
@echo off
setlocal
title QDF - Analisi spazio occupato
color 0E
set "REPORT=%~dp0Analisi-spazio-%COMPUTERNAME%.txt"
cls
echo ===============================================================
echo ANALISI SPAZIO OCCUPATO
echo ===============================================================
echo.
echo Nessun file verra modificato. L'analisi puo richiedere alcuni minuti.
echo.
pause
echo Analisi in corso...
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command ^
"$ErrorActionPreference='SilentlyContinue'; $out='%REPORT%';" ^
"'QDF - ANALISI SPAZIO OCCUPATO' | Set-Content -Encoding UTF8 $out;" ^
"('Computer: '+$env:COMPUTERNAME),('Data: '+(Get-Date)) | Add-Content $out;" ^
"'','UNITA' | Add-Content $out; Get-CimInstance Win32_LogicalDisk -Filter 'DriveType=3' | ForEach-Object { ('{0} Totale: {1:N2} GB Liberi: {2:N2} GB' -f $_.DeviceID,($_.Size/1GB),($_.FreeSpace/1GB)) } | Add-Content $out;" ^
"'','CARTELLE PRINCIPALI DEL PROFILO' | Add-Content $out;" ^
"$paths=@($env:USERPROFILE+'\Desktop',$env:USERPROFILE+'\Downloads',$env:USERPROFILE+'\Documents',$env:TEMP); foreach($p in $paths){ if(Test-Path $p){ $s=(Get-ChildItem -LiteralPath $p -Force -Recurse -File | Measure-Object Length -Sum).Sum; ('{0} : {1:N2} GB' -f $p,($s/1GB)) | Add-Content $out } };" ^
"'','CACHE WINDOWS UPDATE' | Add-Content $out; $p=$env:SystemRoot+'\SoftwareDistribution\Download'; if(Test-Path $p){$s=(Get-ChildItem $p -Force -Recurse -File | Measure-Object Length -Sum).Sum; ('{0} : {1:N2} GB' -f $p,($s/1GB)) | Add-Content $out};"
if not exist "%REPORT%" goto :errore
color 0A
echo Report creato: %REPORT%
start "" notepad.exe "%REPORT%"
goto :fine
:errore
color 0C
echo ERRORE: impossibile creare il report.
:fine
echo.
pause
endlocal
exit /b