white155, разбором, наподобие:
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "skip=2 tokens=2 delims=:" %%i in ('fsutil volume diskfree C:') do set sFreeSize=%%i
if defined sFreeSize echo [%sFreeSize%]
endlocal
exit /b 0
Или же, аналогично:
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq tokens=2 delims==" %%i in (`wmic.exe LogicalDisk where "Name='c:'" get FreeSpace /value`) do set sFreeSize=%%i
if defined sFreeSize echo [%sFreeSize%]
endlocal
exit /b 0
На практике же, например, для сравнения, данный подход не очень годится вследствие того, что «sFreeSize» — строка, а попытка перевести его в псевдочисло («set /a …») упирается в ограниченную разрядность командного процессора (числа ограничены 32 битами точности).