QDF QDF.it
Controlla. Analizza. Risolvi.
Registrati
Script QDF
← Torna agli script

Disco • CMD

Analisi spazio occupato

Analizza lo spazio disponibile e misura le principali cartelle del profilo utente senza eliminare o modificare alcun file.

CompatibilitàWindows 10 e Windows 11PrivilegiStandardFile[QDF.it] disco - Analisi spazio occupato.cmd
Scarica script ↓
>_ 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