Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.81/450: Рейтинг темы: голосов - 450, средняя оценка - 4.81
11 / 4 / 0
Регистрация: 16.03.2013
Сообщений: 10

Проверка свободного места на диске в cmd

16.03.2013, 22:50. Показов 86762. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пользуясь подсказками Dragokas и яндекса сделал для себя такую штуку freespace.cmd
после её запуска получаю файлик freespace.cmd.txt:
Windows Batch file
1
2
3
4
Free space C:  128 Gb of  160 Gb
Free space D:  410 Gb of  500 Gb
Free space E:  16 Gb of  20 Gb
Free space F:  1038 Gb of  1479 Gb
Сам командник:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@echo off
setlocal enableextensions enabledelayedexpansion
echo.>%0.txt
 for %%j in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
 rem echo %%j
 
 
set sFreeSize=0
set /a c=0
for /f "skip=1 tokens=2 delims=:" %%i in ('fsutil volume diskfree %%j:') do (
  set /a c+=1
  rem echo !c! %%i
  if !c!==1 set sFreeSizeOf=%%i
  if !c!==2 set sFreeSize=%%i
)
 
if NOT !sFreeSize!==0 echo Free space %%j: !sFreeSize:~0,-9! Gb of !sFreeSizeOf:~0,-9! Gb>>%0.txt
rem :~0,-9
 )
endlocal
p.s.1. дальше его хватаю и отправляю себе на мыло zerat-кой
p.s.2. Размеры взяты грубо и формально неправильно: перевод в Gb ведется тупо обрезанием последних 9-ти цифорок. Но дает общую картину.
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.03.2013, 22:50
Ответы с готовыми решениями:

Сравнение свободного места на диске и его освобождение
Добрый день! Хотел уточнить по коду @echo off &setlocal enableextensions &chcp 1251 >nul set DISK=E: set SPACE=15 for /f...

Определить общее количество ОЗУ и свободного места на системном диске
Доброго времени суток. Нужно определить общее количество оперативной памяти и свободного места на системном жестком диске (для...

Количество свободного места на диске
Мне вообще-то нужно узнать когда заполниться определённый диск, после этого совершить необходимые действия. Поиск на форуме и в интернете...

22
 Аватар для Angry Old Man
3047 / 749 / 314
Регистрация: 26.03.2022
Сообщений: 1,407
Записей в блоге: 1
24.12.2024, 07:48
Студворк — интернет-сервис помощи студентам
vampir551, Могу предположить, что Вы плохо скопировали код. Копирую код с портала, запускаю - у меня работает.
Еще раз проанализировал код, сделал одно изменение для повышения надежности (если на диске меньше гига).
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@Echo Off &Cls
 
    Set /A Space=21475 &Rem 20Г=21474'836480 байт усекли на 6 разрядов
 
    FOR /F "tokens=1,2* delims=: " %%i In ('"WMIC LogicalDisk where DriveType=3 Get FreeSpace, Name, Size |Find ":""') DO (
        Set "S=%%i
        Call Set "Fsize%%j=%%S:~0,-6%%"
    )
    Echo Free disk space Mbyte bytes on disks: &Set "Fsize"
 
    Set "Disk="
    If "%Disk%"=="" If Not "%FsizeE%"=="" If %FsizeE% GTR %Space% Set "Disk=E" 
    If "%Disk%"=="" If Not "%FsizeD%"=="" If %FsizeD% GTR %Space% Set "Disk=D" 
    If "%Disk%"=="" If Not "%FsizeC%"=="" If %FsizeC% GTR %Space% Set "Disk=C" 
 
    If "%Disk%"==""  (Echo There is not enough disk space. &Pause &Exit /B 2)
 
    Echo. &Call Echo Here we make the necessary utility on the %Disk% (FreeSpace=%%Fsize%Disk%%% Mbyte)
Pause
Exit /B
Файл прилагаю, уберите только расширение .txt и запустите без каких-либо изменений.
Вложения
Тип файла: txt я241223.bat.txt (770 байт, 2 просмотров)
0
 Аватар для Angry Old Man
3047 / 749 / 314
Регистрация: 26.03.2022
Сообщений: 1,407
Записей в блоге: 1
24.12.2024, 08:36
vampir551, Мой предыдущий пост не решает Вашу проблему, проигнорируйте его
Исправленный вариант (у Вас мало места на дисках)
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@Echo Off &Cls
 
    Set /A Space=21475 &Rem 20Г=21474'836480 байт усекли на 6 разрядов
 
    FOR /F "tokens=1,2* delims=: " %%i In ('"WMIC LogicalDisk where DriveType=3 Get FreeSpace, Name, Size |Find ":""') DO (
        Set "S=%%i"
        Call Set "Fsize%%j=%%S:~0,-6%%"
    )
    If "%FsizeE%"=="" Set "FsizeE=0" &If "%FsizeD%"=="" Set "FsizeD=0" &If "%FsizeC%"=="" Set "FsizeC=0"
 
    Echo Free disk space Mbyte bytes on disks: &Set "Fsize"
 
    Set "Disk="
    If "%Disk%"=="" If %FsizeE% GTR %Space% Set "Disk=E" 
    If "%Disk%"=="" If %FsizeD% GTR %Space% Set "Disk=D" 
    If "%Disk%"=="" If %FsizeC% GTR %Space% Set "Disk=C" 
 
    If "%Disk%"==""  (Echo There is not enough disk space. &Pause &Exit /B 2)
 
    Echo. &Call Echo Here we make the necessary utility on the %Disk% (FreeSpace=%%Fsize%Disk%%% Mbyte)
Pause
Exit /B
Вложения
Тип файла: txt я241223.bat.txt (808 байт, 9 просмотров)
1
0 / 0 / 0
Регистрация: 13.06.2019
Сообщений: 4
24.12.2024, 21:39
Angry Old Man, Спасибо, этот код работает))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.12.2024, 21:39

Перезапись свободного места на диске
Вот такая странная задача. В программе должна быть функция удаления заданного файла и возможность перезаписать эти кластеры, дабы сделать...

Мониторинг свободного места на диске
Здравствуйте знатоки. Имеется задача: сделать скрипт, чтобы мониторил свободное место на дисках "C" и "D" Win 2008...

Нет свободного места на диске
Здравствуйте!У меня забит диск на MacBook Pro retina 13.Пишет что забито 20 гб фильмами,которых у меня нет!Может где-то они глубоко...

Мало свободного места на диске С
На диске С всего 5 гигов памяти: 3 - занято Windows, остальные 2 - не знаю чем :(. Все программы установлены на диск D. Помогите освободить...

Нет свободного места на диске
Alcohol создал образ диска. получилось 2 файла: один 5кб, другой 4580896кб. Тот файл, что за 2Гб нужно переместить в локальный диск Е....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её. Всё это стресс конечно. Почему?. . .
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru