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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Помогите конвертировать скрипт "задержки" VBS в автоит.

Ответить
Настройки темы
Помогите конвертировать скрипт "задержки" VBS в автоит.

Аватара для Pozia

Ветеран


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

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


Есть такой скрипт 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
Суть работы состоит в том, что если прописать его в батнике примерно вот так:

Код: Выделить весь код
.\AdminImage\setup.exe /qb /I .\AdminImage\Pozia.ini /language ru-ru
Sleep.vbs
exit
то работа батника не завершится пока в процессах висит setup.exe. В данном случае это нужно, так как при установке автокада сразу сразу работает один setup.exe, а потом закрывается и запускается другой. Соответственно батник отрабатывает раньше времени, что есть плохо. До недавнего времени скрипт прекрасно работал, но в версии автокада 2012 почему то он начал сам зависать в диспетчере и навсегда, хотя уже все setup.exe давно исчезли в процессах. Вот я и подумал, что если через автоит это можно реализовать, то должно быть надежнее. Буду рад помощи. Заранее спасибо.
PS Если моя просьба реализуемая, то хотелось бы задавать имя процесса через ключ, например так:
Код: Выделить весь код
Sleep.exe -t setup.exe
Sleep.exe - скомпилированный автоит скрипт.

-------
Жизни вглядись в глаза: Это то, что ты всегда искал? Это то, что ты всегда хотел? Да или нет?


Отправлено: 23:24, 18-07-2011

 

Аватара для Creat0R

Must AutoIt


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

Профиль | Сайт | Отправить 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:
хотелось бы задавать имя процесса через ключ, например так: »
Т.е нужно чтобы AutoIt-скрипт ждал завершения процесса указанного в параметре ком. строки?

Код: Выделить весь код
$sProcess = StringRegExpReplace($CmdLineRaw, "(?i).*-t (.*\.[^.\s]{1,}).*", "\1")
ProcessWaitClose($sProcess)

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

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

Отправлено: 01:43, 19-07-2011 | #2



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

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


Аватара для Pozia

Ветеран


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

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


Цитата Creat0R:
vbs если скрипт написан на AutoIt? »
то есть то, что я привел уже можно в готовом виде скомпилировать в exe? хм... тогда как он с расширением vbs без компилияции работает? Я просто ламер в этих вопросах... (
Цитата Creat0R:
P.S
В батнике можно и без vbs устроить проверку процесса: »
это я чуть позже протещу, спасибо большое.
Цитата Creat0R:
Т.е нужно чтобы AutoIt-скрипт ждал завершения процесса указанного в параметре ком. строки? »
да. также проверю чуть позже... Спасибо.

-------
Жизни вглядись в глаза: Это то, что ты всегда искал? Это то, что ты всегда хотел? Да или нет?


Отправлено: 23:33, 19-07-2011 | #3


Аватара для Creat0R

Must AutoIt


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

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


Цитата Pozia:
то есть то, что я привел уже можно в готовом виде скомпилировать в exe? »
Нет, я к тому, что ни баник, ни vbs не нужны если использовать autoit. Всё можно делать через него.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 00:01, 20-07-2011 | #4


Аватара для Pozia

Ветеран


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

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


Цитата Creat0R:
Всё можно делать через него. »
ну это да. но у меня есть определенный так сказать "стандарт" создания sfx архивов самоустановок прог, и все скрипты пишу через батник, так как в этом хоть что понимаю. к таким эксклюзивам как автоит и vbs прибегаю в исключительных, как сейчас, случаях, и решаю конкретную непосильную другими методами задачу. А в скрипте батника у меня много чего записано для автоустановки моих прог, и я вас замучаю распрашивая как и что на автоит перевести )).

-------
Жизни вглядись в глаза: Это то, что ты всегда искал? Это то, что ты всегда хотел? Да или нет?


Отправлено: 00:37, 20-07-2011 | #5


Аватара для Pozia

Ветеран


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

Профиль | Отправить 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


Аватара для Pozia

Ветеран


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

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


Creat0R, ан нет, поспешил. Батник работает. Продолжаю тестить.

-------
Жизни вглядись в глаза: Это то, что ты всегда искал? Это то, что ты всегда хотел? Да или нет?


Отправлено: 23:47, 18-12-2011 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Помогите конвертировать скрипт "задержки" VBS в автоит.

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Ошибка "Не удается найти файл сценария [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




 
Переход