Предполагая, что у вас все в порядке с обработкой 1 ГБ как 10 9 байтов, а не как 2 30 байтов, вы можете просто
1) передать результаты FSUTIL
в утилиту FIND
для фильтрации несущественных строк,
2) использовать измененную командную строку в цикле FOR /F
для сохранения вывода в переменной,
3) вырезатьвычеркните последние 9 символов из значения переменной и сравните остальные с требуемым количеством.
И вот моя попытка соединить вышеупомянутые шаги:
@ECHO OFF
SET required=60
FOR /F "tokens=2 delims=:" %%A IN ('fsutil volume diskfree c: ^| find "# of bytes"') DO SET "space=%%A"
IF %space:~0,-9% LSS %required% ECHO Space is less than %required% GB!
Приведенный выше скрипт обрабатывает общее количествопространство.Если вы хотите проверить свободное место, измените "# of bytes"
на "# of free"
.