![]() |
Ошибка при отработке скрипта с самоудалением
Собственно, проблема:
При отработке скрипта с самоудалением и последующей перезагрузкой возникает ошибка ( cmd.exe "Ошибка при инициализации приложения (0x0000142).....). В результате файл не удаляется. код: Код:
;Предотвращение появление процесса-клона |
Применение скрипта без последней функции на самоуничтожение приводит к исчезновению ошибки. Что я неправильно в ней сделал?
код: Код:
; Функция самоудалениея скрипта |
saavaage,
По-моему, Вы одновременно запускаете и перезагрузку, и батник самоудаления, из-за чего возникает ошибка. |
madmasles, вы правы. Закоментировал строку с shoutdown и все прошло успешно. Вопрос тогда - как сдеелать, чтобы не было одновременного старта этих двух процессов. Вроде в скрипте (шапка) они идут последовательно (я предполагал, что shoutdown должен дождаться выполнения _ScriptDestroy() )...
PS Может есть параметр, который заставляет дождаться выполнения одной команды перед стартом другой? |
saavaage,
А может из батника удаления запустить перезагрузку? |
madmasles, как в него передать эту команду. Autoit это может?
PS Вы же имеете в виду батник, который создается функцией _ScriptDestroy()? |
Цитата:
У меня так работает, несколько раз проверил: Код:
#Include <File.au3> |
madmasles, прекрасно сработало. Спасибо огромное. Тему можно закрывать.
PS Напоследок - не знаете, как отключить окно с предупреждением о перезагрузки? Читал справку по команде, не нашел никакого параметра (если только убрать t) , отвечающего за непоказ окна предупреждения о перезагрузке... |
|
madmasles, а я просто подправил таким образом:
shutdown -r -f -t 0, т.е. поставил задержку, равную 0 и окно исчезло. Однако, Ваш последний вариант больше, имхо, в духе autoit :) PS Думаю форсировать перезагрузку смысла нет, поставил в конце shutdown(2). |
Время: 00:11. |
Время: 00:11.
© OSzone.net 2001-