![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Помогите конвертировать скрипт "задержки" VBS в автоит. |
|
Помогите конвертировать скрипт "задержки" VBS в автоит.
|
Ветеран Сообщения: 2756 |
Есть такой скрипт Sleep.vbs:
Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2") Set objRefresher = CreateObject("WbemScripting.SWbemRefresher") Set colItems = objRefresher.AddEnum(objService, "Win32_Process").objectSet Do Until False Wscript.Sleep 1000 objRefresher.Refresh Flag = True For Each objItem in colItems If InStr(objItem.ExecutablePath, "setup.exe") Then Flag = False End If Next If Flag = True Then Exit Do End If Loop Wscript.Sleep 5000 то работа батника не завершится пока в процессах висит setup.exe. В данном случае это нужно, так как при установке автокада сразу сразу работает один setup.exe, а потом закрывается и запускается другой. Соответственно батник отрабатывает раньше времени, что есть плохо. До недавнего времени скрипт прекрасно работал, но в версии автокада 2012 почему то он начал сам зависать в диспетчере и навсегда, хотя уже все setup.exe давно исчезли в процессах. Вот я и подумал, что если через автоит это можно реализовать, то должно быть надежнее. Буду рад помощи. Заранее спасибо. PS Если моя просьба реализуемая, то хотелось бы задавать имя процесса через ключ, например так: Sleep.exe - скомпилированный автоит скрипт. |
|
------- Отправлено: 23:24, 18-07-2011 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Я что-то не пойму, зачем батник и vbs если скрипт написан на AutoIt?
P.S В батнике можно и без vbs устроить проверку процесса: .\AdminImage\setup.exe /qb /I .\AdminImage\Pozia.ini /language ru-ru Call :ProcessWaitClose setup.exe Exit :ProcessWaitClose :Loop Tasklist /FI "IMAGENAME eq %1" | find /i "%1" IF ERRORLEVEL 1 Ping -n 1 Localhost > NUL & GOTO :EOF GOTO Loop Цитата Pozia:
$sProcess = StringRegExpReplace($CmdLineRaw, "(?i).*-t (.*\.[^.\s]{1,}).*", "\1") ProcessWaitClose($sProcess) |
|
------- Отправлено: 01:43, 19-07-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
Цитата Creat0R:
Цитата Creat0R:
|
|||
------- Отправлено: 23:33, 19-07-2011 | #3 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Pozia:
|
|
------- Отправлено: 00:01, 20-07-2011 | #4 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
|
||
------- Отправлено: 00:37, 20-07-2011 | #5 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Creat0R, немного не получается с вашими скриптами. И через батник и через автоит одни и те же грабли. Суть в следующем.
При выполнении строки ".\AdminImage\setup.exe /qb /I .\AdminImage\Pozia.ini /language ru-ru" процесс "setup.exe" запускается дважды. Первый отрабатывает 30-100 сек (или больше), затем закрывается и запускается второй (основной) setup.exe. Он работает долго (минут 30). И получается батник с проверкой процесса уже отработал и закрылся. А мне нужно, чтобы он ждал завершения второго setup.exe. Пауза во времени между запусками первого и второго setup.exe неизвестна, по разному - зависит от мощность компа (2-60 сек). Можно ли как то подправить скрипт, чтоб он ждал запуска и отработки второго setup.exe? |
------- Отправлено: 23:25, 18-12-2011 | #6 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Creat0R, ан нет, поспешил. Батник работает. Продолжаю тестить.
|
------- Отправлено: 23:47, 18-12-2011 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Ошибка "Не удается найти файл сценария [disk_drive]:\autorun.vbs" | bad_robot | Microsoft Windows 2000/XP | 3 | 29-05-2009 17:27 | |
Помогите переделать OEMINFO.cmd в Автоит скрипт | Pozia | AutoIt | 0 | 03-03-2009 20:44 | |
[решено] помогите переставить свободный объём раздела"D"на раздел"C"жёсткого диска. | kent719 | Хочу все знать | 5 | 22-03-2008 00:16 | |
Запретить/удалить пункт "Programs" ("Программы") из меню кнопки "Start" ("Пуск") | submaster | Microsoft Windows NT/2000/2003 | 5 | 13-09-2006 12:29 | |
Помогите настроить скрипт "Почтовый Дятел" | LVVictor | Вебмастеру | 1 | 15-10-2005 16:41 |
|