|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Запрос для wmic |
|
|
CMD/BAT - [решено] Запрос для wmic
|
Старожил Сообщения: 493 |
Доброго времени суток!
В батнике в зависимости от текущего времени (до 10 утра или после) выполняется или не выполняется определённый блок: wmic.exe path Win32_LocalTime where (Hour^<10) get Hour 2>nul|find.exe /i "Hour">nul && goto :Skip echo privet :Skip Условие для данного примера я как бы себе представляю: Но вот как правильно это записать для wmic.exe ? ![]() Заранее благодарен! |
|
Отправлено: 16:14, 15-09-2011 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Так. Стало интереснее.
Возвращаемся к mshta: @echo off setlocal for /f "tokens=2 delims=:" %%i in ('chcp') do ( set sPrevCP=%%i chcp 1251 >nul ) for /f "usebackq delims=" %%i in ( `@"%systemroot%\system32\mshta.exe" "javascript:var enumItems = new Enumerator(GetObject('winmgmts:{impersonationLevel=impersonate}^!\\\\.\\root\\cimv2').ExecQuery('SELECT DeviceID FROM Win32_LogicalDisk WHERE DriveType = 3 AND MediaType = 12')); for(; ^!enumItems.atEnd(); enumItems.moveNext()) {try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).WriteLine(enumItems.item().DeviceID)} catch (e){}} close();" ^ 1^|more` ) do echo [%%i] chcp %sPrevCP% >nul endlocal exit /b 0 |
Отправлено: 09:32, 26-03-2014 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 10:29, 26-03-2014 | #22 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Скриншот ошибки можно?
|
Отправлено: 10:45, 26-03-2014 | #23 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Iska, sov44, не поверите: убрал всё "лишнее", включая "^" перед "!", -- пакетные файлы сработали.
@echo off setlocal for /f "tokens=2 delims=:" %%i in ('chcp') do ( set sPrevCP=%%i chcp 1251 >nul ) for /f "usebackq delims=" %%i in (`mshta "javascript:var enumItems = new Enumerator(new ActiveXObject('WbemScripting.SWbemLocator').ConnectServer('.', 'root\\CIMV2').ExecQuery('SELECT DeviceID FROM Win32_LogicalDisk WHERE DriveType = 3 AND MediaType = 12')); for(; !enumItems.atEnd(); enumItems.moveNext()) {try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).WriteLine(enumItems.item().DeviceID)} catch (e){}} close();"`) do echo [%%i] chcp %sPrevCP% >nul pause>nul endlocal exit /b 0 @echo off setlocal for /f "tokens=2 delims=:" %%i in ('chcp') do ( set sPrevCP=%%i chcp 1251 >nul ) for /f "usebackq delims=" %%i in (`mshta "javascript:var enumItems = new Enumerator(GetObject('winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2').ExecQuery('SELECT DeviceID FROM Win32_LogicalDisk WHERE DriveType = 3 AND MediaType = 12')); for(; !enumItems.atEnd(); enumItems.moveNext()) {try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).WriteLine(enumItems.item().DeviceID)} catch (e){}} close();"`) do echo [%%i] chcp %sPrevCP% >nul pause>nul endlocal exit /b 0 |
Последний раз редактировалось Georgio, 26-03-2014 в 11:14. Отправлено: 11:00, 26-03-2014 | #24 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Georgio, а до этого — не работали?
|
Отправлено: 11:23, 26-03-2014 | #25 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Iska, не работали: те же самые ошибки, что и у sov44. А у меня не Windows XP, а Windows 7 Starter. Кстати, с подобной проблемой при использовании разбора вывода каких-то команд "mshta.exe" (каких -- не помню) я уже сталкивался.
|
Последний раз редактировалось Georgio, 26-03-2014 в 11:59. Отправлено: 11:53, 26-03-2014 | #26 |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать Цитата Georgio:
Iska, для ликбеза поясните код. |
|
Последний раз редактировалось sov44, 26-03-2014 в 12:04. Отправлено: 11:54, 26-03-2014 | #27 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 17:14, 26-03-2014 | #28 |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 19:06, 26-03-2014 | #29 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата sov44:
![]() |
|
Отправлено: 19:27, 26-03-2014 | #30 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Как убрать запрос 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 |
|