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

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

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

2 Solutions collect form web for “Проверьте свободное место на диске с помощью командных команд”

Самый простой способ надежно 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

  • Программа запуска psexec не работает
  • Мне нужно очистить один и тот же directory на нескольких serverах по сети. Как мне это сделать?
  • Является ли TCP-header таким же, как TCP-сегмент?
  • Запуск командного fileа в качестве системной службы в Windows Server 2003
  • Принимать ICMP-пакеты (ping) с определенной длиной - Iptable rules
  • окружение переменной имени клиента на serverе terminalов
  • Push-скрипт для клиентов AD
  • iptables: возможно ли обмануть НОВЫЕ пакеты и сделать их похожими на ESTABLISHED пакеты?
  • Пакетный file и configuration для установки TeamViewer
  • Заставить Windows отправлять пакеты, как только они прибудут
  • Сглаживание пакетов
  • Interesting Posts

    Перечисление соединений ODBC на удаленной машине

    Почему CGI не работает в apache

    Как разместить несколько веб-websiteов SSL в одном экземпляре EC2, используя Amazon Elastic Load Balancers?

    Связать имя компьютера Windows с определенным IP-адресом

    Не удалось upload после обновления до ядра 3.1.4-1 в Fedora 16

    Удаление fileов с удаленного FTP-serverа старше x дней

    Как получить tomcat для привязки к адресу ipv4?

    Barracuda.com и услуги сканирования / пингера, вызывающие необычную нагрузку на веб-serverы

    Не удается запустить IIS – как мне find, что работает на порту 80?

    alignment раздела truecrypt на секторном жестком диске 1,5 ТБ 4 КБ

    Как вы перенаправляетесь из одного directoryа в другой и поддерживаете правильный базовый path?

    Nice rsync на удаленной машине

    Файлы Debian / run / shm исчезают

    Использование permissions NTFS «переходить», но user все еще запретил доступ к сетевому ресурсу (SBS 2003)

    Последствия блокировки портов Catalyst 4506