J'essaie de créer un fichier de commandes pour extraire la taille totale et l'espace libre du lecteur C: \ des serveurs (script exécuté localement). J'ai également besoin que la sortie soit facilement lisible, donc les octets ne fonctionneront pas, donc je suis d'accord avec une ligne de commande qui crée un fichier temp .vbs.
Ce qui suit semble fonctionner, mais le formatage / mathématiques n'est pas correct.
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%
Les commandes ci-dessus ne montrent également que de l'espace libre ... Je voudrais également la taille totale ... Vous vous demandez si la commande suivante pourrait être meilleure pour extraire les informations:
WMIC LOGICALDISK GET Name,Size,FreeSpace | find /i "C:"
Notez également que je veux que cela puisse être copié / collé directement dans une invite de commande (pas un fichier de commandes - exigences forcées). J'ai déjà supprimé les "%%" du code ci-dessus.
Remarque: doit s'exécuter en mode natif sur Server 2003+ (donc Powershell est sorti, ainsi que tous les utilitaires tiers).