Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   start /wait Не работает должным образом. (http://forum.oszone.net/showthread.php?t=308705)

angel_lyucifer 03-12-2015 01:31 2580902

start /wait Не работает должным образом.
 
Привет всем.
start /wait не работает должным образом.

Код:

@Echo OFF
CHCP 1251 >nul
start "Удаление ДКМ 3.0 x64" /WAIT "%PROGRAMFILES(x86)%\Melcosoft\ДКМ 3.0\Uninstal-ДКМ3.0.exe"
RMDIR /s /Q "%PROGRAMFILES(x86)%\Melcosoft\ДКМ 3.0"

Такой вариант не работает...

Код:

@Echo OFF
CHCP 1251 >nul
start "" /WAIT "%PROGRAMFILES(x86)%\Melcosoft\ДКМ 3.0\Uninstal-ДКМ3.0.exe"
RMDIR /s /Q "%PROGRAMFILES(x86)%\Melcosoft\ДКМ 3.0"

И такой вариант не работает...
Что не так я делаю?

Iska 03-12-2015 03:44 2580909

angel_lyucifer, оформляйте код не тэгом [php], а тэгом [code].

Поясните, что значит — «не работает».

angel_lyucifer 03-12-2015 19:35 2581123

Команда start "" /WAIT не дожидается окончание работы Uninstal-ДКМ3.0.exe.
Мне нужно что бы сначала выполнялась команда
Код:

start "" /WAIT "%PROGRAMFILES(x86)%\Melcosoft\ДКМ 3.0\Uninstal-ДКМ3.0.exe"
А патом выполнялась команда
Код:

RMDIR /s /Q "%PROGRAMFILES(x86)%\Melcosoft\ДКМ 3.0"

blacktor 03-12-2015 20:39 2581156

Uninstal запускает другие обработчики, а себя завершает, он ведь и сам должен удалиться по завершению. Убиться самому винда не позволяет.
Наверно дело в этом. Любой Uninstal сделает такой же ответ скрипту.

Iska 03-12-2015 21:15 2581171

Цитата:

Цитата blacktor
Любой Uninstal сделает такой же ответ скрипту. »

Не любой, но, полагаю, для данного случая может оказаться именно так.

angel_lyucifer, проверьте высказанную коллегой blacktor гипотезу, либо посредством Process Explorer — «глазками», либо посредством Process Monitor — фильтром на события «Process Create», «Process Start» и «Process Exit».

angel_lyucifer 04-12-2015 19:45 2581477

Спасибо всем, за подсказки.....

Iska 04-12-2015 23:23 2581542

И что было?

angel_lyucifer 05-12-2015 03:10 2581573

Запущенный Uninstal-ДКМ3.0.exe копировался с таким же именем в папку темп и от туда снова запускался...
После копирования самого себя в папку он тут же завершал свой процесс.
Тогда мне пришлось извращаться, вот так:

Код:

CHCP 1251 >nul
start "" /HIGH "%PROGRAMFILES(x86)%\Melcosoft\ДКМ 3.0\Uninstal-ДКМ3.0.exe"
:scan_process_x64
tasklist|Find /i "Uninstal-ДКМ3.0.exe" || (goto process_x64)
TIMEOUT /T 3 /NOBREAK
goto scan_process_x64
:process_x64
RMDIR /s /Q "%PROGRAMFILES(x86)%\Melcosoft\ДКМ 3.0"


blacktor 05-12-2015 11:15 2581629

Цитата:

Цитата angel_lyucifer
Запущенный Uninstal-ДКМ3.0.exe копировался с таким же именем в папку темп и от туда снова запускался... »

ну о чем я и говорил. Расчет на то, что временная папка когда-то там да удалится.

99.9% программ оставляют после себя мусор. А оставшийся 0.01 завершают удаление батником содержащим строки типа
Код:

del uninstal.exe
del uninstal.bat

А сам cmd.exe закрывается и остается после выполнения этой процедуры.

Цитата:

Цитата Iska
Не любой, но, полагаю, для данного случая может оказаться именно так. »

так произойдет, если сам uninstal останется после удаления и просто закроется

angel_lyucifer 05-12-2015 19:33 2581769

Цитата:

Цитата blacktor
99.9% программ оставляют после себя мусор.»

Я и об этом позаботился, я не весь алгоритм написал сюда... =)


Время: 20:30.

Время: 20:30.
© OSzone.net 2001-