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

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

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

Пользователь


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

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


как из командной строки (не запустить и ждать!)дождаться завершения процесса "msiexec.exe"?
P.S. nircmd смотрел но не разобрался, если объясните буду благодарен.

Отправлено: 13:34, 03-10-2013

 

Пользователь


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

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


ясно, спасибо!

Отправлено: 09:11, 09-10-2013 | #21



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

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


Новый участник


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

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


На самом деле все просто:
Цитата:
:repeat
tasklist | find "msiexec.exe"
if not errorlevel 1 GOTO repeat
<Следующая Команда>
Через "tasklist" процесс проверки наличия процесса зациклин.
После того как "msiexec.exe" завершится последует переход к <Следующая Команда>.

Последний раз редактировалось Alofa, 12-03-2014 в 10:54.


Отправлено: 10:48, 12-03-2014 | #22


Аватара для Farxat

Пользователь


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

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


Выполняю обновление 1с, через цикл For перебираю папки с базами. Как заставить цикл переходить к следующей папке только после завершения работы с предыдущей. Пробывал использовать start /wait, но запуск не удается (
Код: Выделить весь код
@echo off
....
FOR /F "usebackq delims=" %%i IN (`dir /AD /B %p_basedir%`) do (start /d "%p_1cPlatform% CONFIG /N User /P Pass /F %p_basedir%\%%i /UpdateCfg %P_update_rel% /UpdateDBcfg" /wait)
....

-------
Сила в единстве, единство в вере!


Последний раз редактировалось Farxat, 02-04-2014 в 17:18.


Отправлено: 16:48, 02-04-2014 | #23


Аватара для mariolast

Ветеран


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

Профиль | Отправить 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
Благодарности: 8087

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


Цитата mariolast:
А что делать если errorlevel -1073741502? »
Разбираться с ошибками при исполнении «tasklist» и «find "prog.exe"».

Отправлено: 18:31, 17-03-2015 | #25


Аватара для mariolast

Ветеран


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

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


Ну там ошибок как бы нет. Отслеживаем пока установится инсталлятор (код не привожу), ErrorLevel 0 во время установки. После как отработал инсталлятор оно становится -1073741502. Гугль наводит на мысль, что такое значение может быть, если инсталлятор после установки хочет перегруз. Мне всего лишь надо проверить, что инсталлятор закончил свою работу и не висит в памяти, то что требуется там перегруз или нет, не волнует.

Отправлено: 18:43, 17-03-2015 | #26


Ветеран


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

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


Цитата mariolast:
Отслеживаем пока установится инсталлятор (код не привожу), ErrorLevel 0 во время установки. После как отработал инсталлятор оно становится -1073741502. »
Напрасно не приводите код. Не может быть одновременно «0» и «-1073741502».

Отправлено: 19:23, 17-03-2015 | #27


Аватара для mariolast

Ветеран


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

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


Не одновременно. сначала оно равно «0», пока процесс в памяти висит. Соответственно цикл бегает. Потом инсталлятор заканчивает свою работу, из процессов исчезает и вот тут то и превращается значение «0» в «-1073741502». Я то ожидал 1. Поэтому думал прокатит еще добавочно if errorlevel -1073741502. Наверное дело в том, что инсталлятор ставит программу поверху уже установленной, но мне по условиях задачи так и надо. Сама программа установилась нормально, никаких нареканий по этому поводу не имеется. Код ужене приведу, рабочий день закончился, ушел домой.

Отправлено: 19:43, 17-03-2015 | #28


Ветеран


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

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


mariolast, повторю: нет смысла обсуждать сферического коня в вакууме. Покажите Ваш код.
Цитата mariolast:
Код ужене приведу, рабочий день закончился, ушел домой. »
Завтра будет новый день.

Отправлено: 20:00, 17-03-2015 | #29


Аватара для mariolast

Ветеран


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

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



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

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

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




 
Переход