|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] ожидание окончания процесса |
|
|
CMD/BAT - [решено] ожидание окончания процесса
|
Пользователь Сообщения: 114 |
как из командной строки (не запустить и ждать!)дождаться завершения процесса "msiexec.exe"?
P.S. nircmd смотрел но не разобрался, если объясните буду благодарен. |
|
Отправлено: 13:34, 03-10-2013 |
Пользователь Сообщения: 114
|
Профиль | Отправить PM | Цитировать ясно, спасибо!
|
Отправлено: 09:11, 09-10-2013 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать На самом деле все просто:
Цитата:
После того как "msiexec.exe" завершится последует переход к <Следующая Команда>. |
|
Последний раз редактировалось Alofa, 12-03-2014 в 10:54. Отправлено: 10:48, 12-03-2014 | #22 |
Пользователь Сообщения: 101
|
Профиль | Отправить PM | Цитировать Выполняю обновление 1с, через цикл For перебираю папки с базами. Как заставить цикл переходить к следующей папке только после завершения работы с предыдущей. Пробывал использовать start /wait, но запуск не удается (
|
------- Последний раз редактировалось Farxat, 02-04-2014 в 17:18. Отправлено: 16:48, 02-04-2014 | #23 |
Ветеран Сообщения: 717
|
Профиль | Отправить PM | Цитировать А что делать если errorlevel -1073741502?
Вот так не срабатывает, вечный цикл. :repeat Echo %ErrorLevel% tasklist | find "prog.exe" if errorlevel -1073741502 GOTO end if not errorlevel 1 GOTO repeat :end Echo %ErrorLevel% |
Отправлено: 17:57, 17-03-2015 | #24 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата mariolast:
|
|
Отправлено: 18:31, 17-03-2015 | #25 |
Ветеран Сообщения: 717
|
Профиль | Отправить PM | Цитировать Ну там ошибок как бы нет. Отслеживаем пока установится инсталлятор (код не привожу), ErrorLevel 0 во время установки. После как отработал инсталлятор оно становится -1073741502. Гугль наводит на мысль, что такое значение может быть, если инсталлятор после установки хочет перегруз. Мне всего лишь надо проверить, что инсталлятор закончил свою работу и не висит в памяти, то что требуется там перегруз или нет, не волнует.
|
Отправлено: 18:43, 17-03-2015 | #26 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата mariolast:
|
|
Отправлено: 19:23, 17-03-2015 | #27 |
Ветеран Сообщения: 717
|
Профиль | Отправить PM | Цитировать Не одновременно. сначала оно равно «0», пока процесс в памяти висит. Соответственно цикл бегает. Потом инсталлятор заканчивает свою работу, из процессов исчезает и вот тут то и превращается значение «0» в «-1073741502». Я то ожидал 1. Поэтому думал прокатит еще добавочно if errorlevel -1073741502. Наверное дело в том, что инсталлятор ставит программу поверху уже установленной, но мне по условиях задачи так и надо. Сама программа установилась нормально, никаких нареканий по этому поводу не имеется. Код ужене приведу, рабочий день закончился, ушел домой.
|
Отправлено: 19:43, 17-03-2015 | #28 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать mariolast, повторю: нет смысла обсуждать сферического коня в вакууме. Покажите Ваш код.
Цитата mariolast:
|
|
Отправлено: 20:00, 17-03-2015 | #29 |
Ветеран Сообщения: 717
|
Профиль | Отправить PM | Цитировать xcopy /r /y Program.exe \\Comp\Free
xcopy /r /y RunAsSpc32.exe \\Comp\Free xcopy /r /y DelTemp.bat \\Comp\Free psexec.exe -u wwelt-3073\admin -p r2d2c3p0 \\192.168.1.210 cmd /c "net use l: \\192.168.1.33\Free /user:1 1& xcopy /y /r l:\Program.exe c:\windows\temp&xcopy /y /r l:\DelTemp.bat c:\windows\temp&xcopy /y /r l:\RunAsSpc32.exe c:\windows\temp&cd ..&cd temp&RunAsSpc32.exe /program:"c:\windows\temp\Program.exe /verysilent /sp- /norestart" /user:"admin" /password:"pass" /quiet&DelTemp.bat" del /f /q \\Comp\Free\Program.exe del /f /q \\Comp\Free\RunAsSpc32.exe del /f /q \\Comp\Free\DelTemp.bat :repeat Echo %ErrorLevel% tasklist | find "Program.exe" if errorlevel 0 GOTO repeat :end Echo %ErrorLevel% Erase /f /q *.* Содержимое DelTemp.bat :repeat Echo %ErrorLevel% tasklist | find "Program.exe" if errorlevel 0 GOTO repeat :end Echo %ErrorLevel% Erase /f /q *.* Такой вот код |
Отправлено: 11:26, 18-03-2015 | #30 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Ожидание завершения процесса созданного другим процессом? | DesignerMix | Скриптовые языки администрирования Windows | 2 | 16-02-2012 20:26 | |
[решено] Ожидание появления Next скриптом. Как? | Pozia | AutoIt | 23 | 18-02-2011 10:38 | |
.NET - Ожидание завершения процесса | Efsey | Программирование и базы данных | 11 | 24-11-2010 19:16 | |
Ожидание разных названий Окон, WinWaitActive | He4To | AutoIt | 7 | 17-09-2010 14:23 | |
Ожидание при печати в терминале. | EgOrus | Microsoft Windows NT/2000/2003 | 2 | 28-05-2007 12:08 |
|