Проверьте свободное место на диске с помощью командных команд

Есть ли способ проверить свободное пространство на жестком диске в пакетном скрипте?

Я бы предпочел не использовать сторонние приложения, так как мне нужно заполнить много форм, и в этом случае я думаю, что сам напишу небольшое приложение.

Самый простой способ надежно get свободное пространство на диске – использовать WMI. При попытке разобрать вывод dir вы получаете всевозможные смешные проблемы, по крайней мере, с версиями Windows на других языках. Вы можете использовать wmic для requestа свободного места на диске:

 wmic logicaldisk where "DeviceID='C:'" get FreeSpace 

Это даст что-то вроде

 FreeSpace 197890965504 

Вы можете вkeyить это в одну строку, добавив переkeyатель /format:value :

 > wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value FreeSpace=197890965504 

Есть несколько пустых строк, хотя (около трех или четырех), которые не подходят для обработки. К счастью, command for может удалить их для нас, когда мы делаем токенизацию:

 for /f "usebackq delims== tokens=2" %x in (`wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value`) do set FreeSpace=%x 

Приятно то, что, поскольку мы используем только второй токен, все пустые строки (которые не имеют второго токена) игнорируются.

Не забывайте удваивать знаки % при использовании этого в пакетном fileе:

 for /f "usebackq delims== tokens=2" %%x in (`wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value`) do set FreeSpace=%%x 

Теперь вы можете использовать свободное пространство, которое хранится в переменной среды %FreeSpace% .

Вот простой скрипт для проверки вашего c-диска

echo C-drive Свободное пространство >> CDrive.txt

dir c: \ | find / i "bytes free" >> CDrive.txt

  • Отслеживание фактического пути пакета в локальной сети
  • Я не могу установить владельца папки обратно пользователю из fileа bat.
  • Сколько пакетов потребуется для отправки определенных данных?
  • Сглаживание пакетов
  • Push-скрипт для клиентов AD
  • Программа запуска psexec не работает
  • сценарий запуска компьютера, сообщающий успех serverу
  • окружение переменной имени клиента на serverе terminalов
  • Могу ли я постоянно добавлять PATH в windows с помощью пакета?
  • Чрезвычайно слабоватое подkeyение к нашему экземпляру EC2 через одно connection, но не другие
  • Ошибка serverа Server 2008 с запущенным пакетным fileом
  • Давайте будем гением компьютера.