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

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

Ответить
Настройки темы
CMD/BAT - [решено] Запрос для wmic

Аватара для SANIOK_AV

Старожил


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

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


Доброго времени суток!
В батнике в зависимости от текущего времени (до 10 утра или после) выполняется или не выполняется определённый блок:
Код: Выделить весь код
wmic.exe path Win32_LocalTime where (Hour^<10) get Hour 2>nul|find.exe /i "Hour">nul && goto :Skip
echo privet
:Skip
Но я хотел бы чтоб этот блок выполнялся, к примеру, после 10 часов 45 минут.
Условие для данного примера я как бы себе представляю:
Код: Выделить весь код
(Hour<10 or (Hour=10 and Minute<45))
Но вот как правильно это записать для wmic.exe ?
Заранее благодарен!

Отправлено: 16:14, 15-09-2011

 

Ветеран


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

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


SANIOK_AV,
Цитата:
чтоб этот блок выполнялся, к примеру, после 10 часов 45 минут.
Будет выполняться после 10:45
Код: Выделить весь код
... where (hour=10 and minute^>45 or hour^>=11) get ....
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:39, 15-09-2011 | #2



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

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


Аватара для SANIOK_AV

Старожил


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

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


Foreigner, Спасибо большое, работает!

P.S.: как вариант можно ещё так:
Код: Выделить весь код
set /a t = %time::=%  
if %t% leq 104500 goto :Skip
echo privet
:Skip

Последний раз редактировалось SANIOK_AV, 16-09-2011 в 13:39.

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

Отправлено: 13:33, 16-09-2011 | #3


Ветеран


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

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


Подскажите, как с помощью wmic определить буквы логических дисков, не выводя буквы дисков, занятых флеш накопителями?

Отправлено: 16:55, 25-06-2012 | #4


Ветеран


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

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


sov44, определить непосредственно USB Flash — вряд ли. А так — пробуйте:
Код: Выделить весь код
wmic.exe LogicalDisk where "DriveType = 3 AND MediaType=12" get DeviceID
Win32_LogicalDisk class
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:14, 25-06-2012 | #5


Ветеран


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

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


Iska, код подошел. Необходимо вывести в переменную буквы дисков. У меня не получается
Код: Выделить весь код
@echo off
SetLocal enabledelayedexpansion
For /F %%A In (wmic.exe LogicalDisk where "DriveType = 3 AND MediaType=12" get DeviceID) Do (
set dr=%%A
echo !dr!
)
pause

Отправлено: 17:41, 25-06-2012 | #6


Ветеран


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

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


Например, так:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /f "usebackq skip=1" %%i in (`wmic.exe LogicalDisk where "DriveType = 3 AND MediaType=12" get DeviceID`) do (
	set sDriveName=%%i
	echo [!sDriveName!]
)

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

Отправлено: 18:02, 25-06-2012 | #7


Ветеран


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

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


Пробую с помощью WMIC определить наличие вставленной флешки, не получается
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /f "usebackq skip=1" %%i in (`wmic.exe LogicalDisk where "DriveType=2 And MediaType=NULL" get VolumeName`) do (
findstr.exe /r /c:"^Отсутствуют экземпляры класса.&" >nul &&(echo флешка не вставлена) || (set sDriveName=%%i& echo !sDriveName!)
)
pause
endlocal
exit /b
п.с. можно ли сделать подобное без wmic? (прав администратора может не быть)

Отправлено: 21:33, 07-08-2012 | #8


Ветеран


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

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


Цитата sov44:
Пробую с помощью WMIC определить наличие вставленной флешки, не получается »
А зачем MediaType?

Код: Выделить весь код
@echo off
setlocal

set "wmic=2>nul wmic logicaldisk where drivetype=2 get volumename /value"

for /f %%i in (' "%wmic%" ') do 1>nul set "%%i"

if not defined volumename (echo usb-flash is not inserted) else (echo label is %volumename%)

Отправлено: 22:44, 07-08-2012 | #9


Ветеран


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

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


Цитата Foreigner:
А зачем MediaType? »
Прочитал тут
Foreigner, если флешка не вставлена, пишет "echo label is "

Отправлено: 23:19, 07-08-2012 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Как убрать запрос UAC для определённой программы NA-kun Microsoft Windows 7 19 28-10-2012 02:06
Ошибка - Неизвестное исключительное состояние WMIC ZlojMyX Microsoft Windows 2000/XP 4 19-06-2012 10:08
WMI - В батника при втором обращении к wmic, виснет?! akrav Скриптовые языки администрирования Windows 1 10-02-2011 16:50
WMIC. Добавление WinXP в домен Windows2003. posoh Microsoft Windows NT/2000/2003 1 23-11-2006 02:34
SQL-запрос для разных наборов данных kukushka Программирование и базы данных 3 14-12-2004 11:04




 
Переход