Я намагаюся створити пакетний файл, щоб витягнути загальний розмір і вільний простір C: \ приводу серверів (локально запущений скрипт). Мені також потрібно, щоб результат був легко читабельним, тому байти не працюватимуть, тому я добре з командним рядком, який створює файл temp .vbs.
Наступне, здається, могло б працювати, але форматування / математика невірне.
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%
Наведені вище команди також показують лише вільний простір ... Я також хотів би загального розміру ... Цікаво, чи може наступна команда була кращою для отримання інформації:
WMIC LOGICALDISK GET Name,Size,FreeSpace | find /i "C:"
Зауважте також, що я хочу, щоб це було можливість копіювати / вставляти безпосередньо в командний рядок (а не пакетний файл - вимушені вимоги). Я вже видалив "%%" з коду вище.
Примітка. Потрібно запускатися на сервері Server 2003+ (тому Powershell не працює, як і будь-які сторонні утиліти).