Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Grub:
куда он будет передавать это значение »
куда угодно, хоть в переменную... но проблема в том, что размер хранится 64-битным числом, а CMD понимает только 32-битные целые числа, что соответствует лишь 4Гб размера в байтах... а если учесть только положительные, то и того меньше - до 2-х Гб точного значения свободного места в байтах
Код: Выделить весь код
@Echo Off

For /F "UseBackQ" %%i In (`WMIC LogicalDisk Where Name^="C:" GET FreeSpace`) Do Set FreeSpace=%%i
SET /A FreeSpace=%FreeSpace% 2>Nul

IF ERRORLEVEL 1 (
  Set Message=На диске свободно более 4-х Гб
  GoTo MESSAGE
)

IF %FreeSpace% LSS 0 (
  Set Message=На диске свободно от 2-х до 4-х Гб
  GoTo MESSAGE
)

Set /A FreeSpaceKb = %FreeSpace%   / 1024
Set /A FreeSpaceMb = %FreeSpaceKb% / 1024
Set Message=На диске свободно %FreeSpaceMb% Mb

:MESSAGE
@Echo %Message%
ADD: к слову, в репозитарии Microsoft есть варианты на VBScript (в процентах):

How Can I Determine the Percentage of Free Space on a Drive?
How Can I Determine the Percentage of Free Space on a Drive?

Последний раз редактировалось amel27, 17-02-2009 в 12:59.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:48, 17-02-2009 | #8