![]() |
ожидание окончания процесса
как из командной строки (не запустить и ждать!)дождаться завершения процесса "msiexec.exe"?
P.S. nircmd смотрел но не разобрался, если объясните буду благодарен. |
использовать команду
Код:
start /wait msiexec.exe |
sunnykey, можно подумать так
Код:
msiexec.exe Только вопрос не в этом, как подождать завершение процесса не запуская его. |
|
rocet, каким образом, как именно, откуда запускается процесс «msiexec.exe»? Откуда уверенность, что он запущен? Откуда уверенность, что он один? Если их окажется несколько — как именно определить, какой из них наш?
Так что всё отнюдь не «просто», как Вы пишете. |
Цитата:
Код:
#Powershell script. |
Цитата:
|
|
Цитата:
Цитата:
Цитата:
|
Цитата:
![]() Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
|
исправлюсь :-)
Path=%TEMP%\NeroCD12\ Setup=cover.desingerinstall.msi /quiet Цитата:
|
|
удаление bat-ником времменных файлов(распакованный инсталятор в папке temp)после установки.
|
Цитата:
|
я в sfx дуб толком и не изучал его.
|
зря я вам мозги потрепал
вот что я сделал установщик и его барахло засунул в sfx c именем NeroCD12.exe bat c таким содержимым вопрос возник можно ли запустить его в свёрнутом виде? |
Цитата:
|
Iska, мой скрипт в win7 при запуске от имени одминистратора выдаёт ошибку не найден файл neroCD12.exe (лежит с ним в одной папке) что делать?
|
Цитата:
[решено] отличия в работе при запуске от администратора Также замените строку: Цитата:
Код:
start "" /wait "%~dp0NeroCD12.exe" |
ясно, спасибо!
|
На самом деле все просто:
Цитата:
После того как "msiexec.exe" завершится последует переход к <Следующая Команда>. |
Выполняю обновление 1с, через цикл For перебираю папки с базами. Как заставить цикл переходить к следующей папке только после завершения работы с предыдущей. Пробывал использовать start /wait, но запуск не удается (
Код:
@echo off |
А что делать если errorlevel -1073741502?
Вот так не срабатывает, вечный цикл. :repeat Echo %ErrorLevel% tasklist | find "prog.exe" if errorlevel -1073741502 GOTO end if not errorlevel 1 GOTO repeat :end Echo %ErrorLevel% |
Цитата:
|
Ну там ошибок как бы нет. Отслеживаем пока установится инсталлятор (код не привожу), ErrorLevel 0 во время установки. После как отработал инсталлятор оно становится -1073741502. Гугль наводит на мысль, что такое значение может быть, если инсталлятор после установки хочет перегруз. Мне всего лишь надо проверить, что инсталлятор закончил свою работу и не висит в памяти, то что требуется там перегруз или нет, не волнует.
|
Цитата:
|
Не одновременно. сначала оно равно «0», пока процесс в памяти висит. Соответственно цикл бегает. Потом инсталлятор заканчивает свою работу, из процессов исчезает и вот тут то и превращается значение «0» в «-1073741502». Я то ожидал 1. Поэтому думал прокатит еще добавочно if errorlevel -1073741502. Наверное дело в том, что инсталлятор ставит программу поверху уже установленной, но мне по условиях задачи так и надо. Сама программа установилась нормально, никаких нареканий по этому поводу не имеется. Код ужене приведу, рабочий день закончился, ушел домой.
|
mariolast, повторю: нет смысла обсуждать сферического коня в вакууме. Покажите Ваш код.
Цитата:
|
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 *.* Такой вот код |
Время: 20:34. |
Время: 20:34.
© OSzone.net 2001-