Показать полную графическую версию : [решено] Самоудаление скрипта после выполнения
Помогите решить такой вопрос.
Суть такова, файлы распаковываются в папку, далее скрипт запускает .bat.
Как сделать так,что бы скрипт запустив .bat сам удалился.
BKPB, Вам нужна куча срабатываний антивирусов?!
Нет, просто у меня есть .exe он распаковывает папку с программой в ProgramFiles,
в ней находится .cmd который запускается с помощью скрипта, что бы не выводились окна .cmd.
Мне нужно, чтобы этот скрипт после запуска .cmd сам удалялся,
то есть, чтобы не оставались не нужные файлы в папке с программой.
Конечно ещё лучше бы было, сделать как нибудь чтобы .cmd отрабатывал скрыто без показа окон,
тогда бы скрипт вообще бы не понадобился.
BKPB, начинайте осваивать нормальные инсталляторы. Временные файлы извлекаются во временный каталог пользователя или машины. Если раздражают окна консоли — используйте от начала и до конца WSH или средства самого инсталлятора. Делать нагромождение Пелиона на Оссу — моветон.
greg zakharov
21-06-2017, 12:20
Iska, вот есть у Вас программа о пару бинарников, так что же, непременно создавать инсталлятор вместо sfx-архива, который бы выпюнул все во временную папку и запустил нужные сценарии преконфигурирования? Однако! И потом, что Вы страх на человека наводите, дескать антивирус будет орать. Вот, скажем, пример бата, который сам по себе удаляется:
@echo off&2>nul goto&rundll32 advpack.dll,DelNodeRunDLL32 "%~f0"
Упакуйте его в sfx и что Вы увидите? Ни один антивирус не станет ругаться. Хотя, казалось бы, код смахивает на деструктивный. Более скажу, на некоторых вполне себе безобидных батах можно заставить антивирусы выбрасывать окошки "атаке алярм". И уж если говорить по существу, вот есть NSIS, казалось бы, понтовый инсталлятор; где-то, эдак лет шесть, если не больше, проскакивала информация, что на нем был написан троян, поражающий MBR.
Смотрите у меня всего два файла,
файл программы и файл .cmd ( "%~dp0usbdlm.exe" -register )
который регистрирует и запускает этот файл,
они не извлекаются во временную папку, а сразу в ProgramFile.
Подскажите можно решить мой вопрос или мне забыть о таком решении?
greg zakharov
21-06-2017, 12:28
BKPB, не проще ли в посэкзекьюшене sfx'а так и прописать mybin.exe -register & start "" mybin.exe и не париться с батом?
greg zakharov,
Сейчас попробую, просто этот .cmd идёт с программой и при его запуске появляется окно где сообщается что программа зарегистрирована и запущена.
greg zakharov, выходит такое сообщение:
CmdLn is '-register & start'
USBGLM -register registers USBDLM.exe as Win32 service and starts the service
USBDLM -deregister deregisters the USBDLM service
USBDLM -debug starts it as normal program (Admin previleges required)
greg zakharov
21-06-2017, 13:07
И? Что должно из этого телепатировать?
Iska, вот есть у Вас программа о пару бинарников, так что же, непременно создавать инсталлятор вместо sfx-архива »
А что, с его созданием нынче есть какие-нибудь трудности?
и запустил нужные сценарии преконфигурирования? »
Когда сценарии конфигурирования начинают приобретать форму «нагромоздим вот это сюда, а потом ещё вот это сверху, а чтоб оно не отображалось — ещё вот это, а потом чтоб не рухнуло — вот это» — надо явно что-то менять в Датском королевстве, независимо от того, используется ли самораспаковывающийся архив, або инсталлятор. Просто в последнем случае это сделать возможно, в первом — нет.
И? Что должно из этого телепатировать? »
А как же :). Мы хотя бы добрались до программы. Видимо, это: USB Drive Letter Manager - USBDLM (http://www.uwe-sieber.de/usbdlm_e.html). Спрашивается, нахрена зачем только всё это нужно, коли там есть msi.
BKPB, рассказывайте всё. С показом кода. С описанием, что, как и зачем у Вас делается.
Нашёл решение. http://forum.oszone.net/post-1498878.html
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "Name.cmd" & Chr(34), 0
Set WshShell = Nothing
WScript.Sleep(3000)
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.DeleteFile WScript.ScriptFullName, 0
WScript.Sleep(3000) - задержка на 3 секунды перед удалением
greg zakharov
21-06-2017, 13:50
Iska, еще раз - пара бинарников. Впрочем, Вы, должно быть, знаете толк в извращениях не видите разницу между пулеметом и мухобойкой (или Вы предпочитаете клейкую ленту, дескать, муха к ней приклеится сама как-нибудь?). Ну, да ладно.
Когда сценарии конфигурирования начинают приобретать форму...Ооо, если не хотите лешиться волос на голове, тогда не трогайте UNIX системы.
зачем только всё это нужно, коли там есть msi.Если желаете ответ в Вашей же манере: msi можно распаковать :)
greg zakharov, любите Вы поспорить ни о чём на пустом месте.
Ооо, если не хотите лешиться волос на голове, тогда не трогайте UNIX системы. »
Видимо, уже где-то, когда-то, зачем-то трогал [Iska застенчиво поглаживает лысину]. Как будем обсуждать инсталляцию под Unix — тогда и поговорим о сравнительных механизмах.
greg zakharov
21-06-2017, 14:04
Iska, в данном случае высказывается лишь точка зрения, а не затевается спор на "пустом месте".
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.