![]() |
Самоудаление скрипта после выполнения
Помогите решить такой вопрос.
Суть такова, файлы распаковываются в папку, далее скрипт запускает .bat. Как сделать так,что бы скрипт запустив .bat сам удалился. |
BKPB, Вам нужна куча срабатываний антивирусов?!
|
Нет, просто у меня есть .exe он распаковывает папку с программой в ProgramFiles,
в ней находится .cmd который запускается с помощью скрипта, что бы не выводились окна .cmd. Мне нужно, чтобы этот скрипт после запуска .cmd сам удалялся, то есть, чтобы не оставались не нужные файлы в папке с программой. Конечно ещё лучше бы было, сделать как нибудь чтобы .cmd отрабатывал скрыто без показа окон, тогда бы скрипт вообще бы не понадобился. |
BKPB, начинайте осваивать нормальные инсталляторы. Временные файлы извлекаются во временный каталог пользователя или машины. Если раздражают окна консоли — используйте от начала и до конца WSH или средства самого инсталлятора. Делать нагромождение Пелиона на Оссу — моветон.
|
Iska, вот есть у Вас программа о пару бинарников, так что же, непременно создавать инсталлятор вместо sfx-архива, который бы выпюнул все во временную папку и запустил нужные сценарии преконфигурирования? Однако! И потом, что Вы страх на человека наводите, дескать антивирус будет орать. Вот, скажем, пример бата, который сам по себе удаляется:
Код:
@echo off&2>nul goto&rundll32 advpack.dll,DelNodeRunDLL32 "%~f0" |
Смотрите у меня всего два файла,
файл программы и файл .cmd ( "%~dp0usbdlm.exe" -register ) который регистрирует и запускает этот файл, они не извлекаются во временную папку, а сразу в ProgramFile. Подскажите можно решить мой вопрос или мне забыть о таком решении? |
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) |
И? Что должно из этого телепатировать?
|
Цитата:
Цитата:
Цитата:
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 секунды перед удалением |
Iska, еще раз - пара бинарников. Впрочем, Вы, должно быть,
Цитата:
Цитата:
|
greg zakharov, любите Вы поспорить ни о чём на пустом месте.
Цитата:
|
Iska, в данном случае высказывается лишь точка зрения, а не затевается спор на "пустом месте".
|
Время: 13:22. |
Время: 13:22.
© OSzone.net 2001-