Sto cercando di creare un file batch per estrarre la dimensione totale e lo spazio libero dell'unità C: \ dei server (script eseguito localmente). Ho anche bisogno che l'output sia facilmente leggibile, quindi i byte non funzioneranno, quindi sto bene con una riga di comando che crea un file .vbs temporaneo.
Quanto segue potrebbe funzionare, ma la formattazione / matematica non è corretta.
setlocal
for /f "tokens=6" %a in ('fsutil volume diskfree C: ^| find "of bytes"') do set diskspace=%a
echo wsh.echo FormatNumber(cdbl(%diskspace%)/1024, 0) > %temp%.\tmp.vbs
for /f %a in ('cscript //nologo %temp%.\tmp.vbs') do set diskspace=%a
del %temp%.\tmp.vbs
echo For example %diskspace%
I comandi sopra mostrano anche solo spazio libero ... Vorrei anche la dimensione totale ... Mi chiedo se il seguente comando potrebbe essere migliore per estrarre le informazioni:
WMIC LOGICALDISK GET Name,Size,FreeSpace | find /i "C:"
Nota anche che voglio che questo possa essere copiato / incollato direttamente in un prompt dei comandi (non un file batch - requisiti forzati). Ho già rimosso "%%" dal codice sopra.
Nota: deve essere eseguito in modo nativo su Server 2003+ (quindi Powershell è fuori uso, nonché eventuali utility di terze parti).