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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] определение размера жесткого диска

Ответить
Настройки темы
Любой язык - [решено] определение размера жесткого диска

Пользователь


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

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


нужен батник для определения оставшегося размера жеского диска например более 1 гб тогда запускается копирование файлов а если меньше тогда выходит

Отправлено: 18:21, 02-03-2009

 

(*.*)


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

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


Цитата Morpheus:
PS ещё не интегрировался в мою жизнь, так что пока оно коряво. Из батника запускается выполнение скрипта PS, а оттуда опять команда cmd »
В этом нет ничего корявого. Команды PS вовсе не обязательно выполнять в консоли PS, главное - результат.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 14:42, 25-01-2011 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


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

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


Ну тогда для коллекции батник еще:
Код: Выделить весь код
for /f "skip=1" %%i in ('wmic path Win32_logicaldisk.name^="%systemdrive%" get size') do if %%i gtr 32212254720 (command1) else (command2)

Ах ты ж.
Petya V4sechkin, совсем забыл.

Последний раз редактировалось SendMessage, 25-01-2011 в 16:33.


Отправлено: 15:34, 25-01-2011 | #12



Moderator


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

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


SendMessage, ага, я тоже хотел сделать батник, но CMD понимает только 32-битные целые числа (поэтому сравнение с 32212254720 невозможно).
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:40, 25-01-2011 | #13


Аватара для Morpheus

Ветеран


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

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


Vadikan, всё же я переделал команды под PS.
SendMessage, спасибо за попытку! Вариант с батником был бы тоже интересен.

Отправлено: 16:30, 25-01-2011 | #14


Googler


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

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


тогда уж как-то так:
Код: Выделить весь код
@echo off
SETLOCAL EnableDelayedExpansion

set $z=0& for /f "skip=1 tokens=1,2" %%a in (
'"wmic logicaldisk where name="%SystemDrive%" get size,volumename"'
) do if not "%%b"=="" set "$z=%%a"& set/a "$z=!$z:~,-9!+0"

if %$z% gtr 32 (command1) else command2
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:37, 25-01-2011 | #15


(*.*)


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

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


Все равно крутимся вокруг Win32_LogicalDisk

Исправил заголовок темы.

P.S. Вот PS скрипт для создания отчета о месте на всех дисках системы. Его надо допиливать под свои нужды, но идея сбора инфы понятна http://powershell.com/cs/media/p/1617.aspx

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 16:43, 25-01-2011 | #16


Старожил


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

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


Цитата Petya V4sechkin:
CMD понимает только 32-битные целые числа (поэтому сравнение с 32212254720 невозможно). »
Вот попробовал обойти (неоптимизировано, правда):
Код: Выделить весь код
setlocal enabledelayedexpansion
for /f "skip=1" %%i in ('wmic path Win32_logicaldisk.name^="%systemdrive%" get size') do (
set size=%%i
set /a sizeM=!size:~0,-9!+0
set /a sizeL=!size:~-9!+0
)
if !sizeM! gtr 32 (
echo command1
) else ( 
if !sizeM! equ 32 (
if !sizeL! gtr 212254720 (echo command1) else (echo command2)
) else (
echo command2
)
)
Вроде по тестам работает правильно.

Ага, тут уже есть. И не такое громоздкое.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:00, 25-01-2011 | #17


Googler


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

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


Цитата SendMessage:
попробовал обойти »
а нужна ли такая точность?.. кстати, сравнивать вроде как можно не только числа, но и строки (если они одинаковой длины), поэтому достаточно перед сравнением дополнить строку слева нулями до 18 символов (максимум для 64-битного числа):
Код: Выделить весь код
@echo off
SETLOCAL EnableDelayedExpansion

set $z=0& for /f "skip=1 tokens=1,2" %%a in (
'"wmic logicaldisk where name="%SystemDrive%" get size,volumename"'
) do if not "%%b"=="" set "$z=000000000000000000%%a"& set "$z=!$z:~-18!"

if "%$z%" gtr "000000032212254720" (command1) else command2
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:39, 25-01-2011 | #18


Аватара для Morpheus

Ветеран


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

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


SendMessage, спасибо, но не срабатывает, оба раза выдаёт command2.
amel27, спасибо, работает.

Последний раз редактировалось Morpheus, 25-01-2011 в 21:55.


Отправлено: 21:04, 25-01-2011 | #19


(*.*)


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

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


Morpheus, посмотрел внимательнее синтаксис PS и сократил скрипт в 9 с пяти строк до трех

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 23:13, 26-01-2011 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] определение размера жесткого диска

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Redhat/Fedora - [решено] Определение размера директории VladDV Общий по Linux 4 27-12-2010 10:42
FreeBSD - sh - Определение размера каталога mitsumoto Общий по FreeBSD 2 28-02-2010 18:47
[решено] Определение частоты процессора и размера ОЗУ без наклейки asus a9rp Хочу все знать 22 26-06-2009 20:19
Определение разделов жесткого диска Windows XP Davlet Хочу все знать 6 11-01-2008 12:07
Определение емкости оперативной памяти и жесткого диска raueber Хочу все знать 9 15-08-2007 20:43




 
Переход