0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 52
1

Самоликвидация exe-файла (сконвертированного из bat-файла) по окончании выполнения им программы

29.10.2013, 01:18. Показов 3077. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему не работает самоликвидация батника если его изменить в формат .ехе (через bat to exe )?? И можно ли сделать чтоб заработала?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2013, 01:18
Ответы с готовыми решениями:

Неправильно работает EXE-файл, скомпилированный из BAT-файла с помощью программы Bat To Exe Converter
Сдрасте люди, я пришел к вам с того самого мира, или как то так У меня уже мозги кипят на...

Приостановка выполнения bat-файла
Запуск командного файла и приостановка его выполнения на заданную величину времени. Величина...

Приблизительная оценка времени выполнения файла AUTOEXEC.BAT
Здравствуйте! Подскажите, какой код написать в dose, что бы он приблизительно оценил время...

Можно ли из exe-файла получить bat?
Добрый день Подскажите пожалуйста, как можно из ЕХЕ получить ВАТ? Был bat воспользовался...

16
135 / 134 / 5
Регистрация: 03.09.2013
Сообщений: 726
29.10.2013, 08:35 2
а че пишет? создайте лог и гляньте в чем трабл
0
Модератор
Эксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
7448 / 3997 / 501
Регистрация: 13.03.2013
Сообщений: 14,637
Записей в блоге: 12
29.10.2013, 08:44 3
Цитата Сообщение от Sneck_vir Посмотреть сообщение
Почему не работает самоликвидация батника
А каким образом пытаетесь его "самоликвидировать"?
0
0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 52
29.10.2013, 09:47  [ТС] 4
Что бы он сделал свою программу и удалился
0
1 / 1 / 0
Регистрация: 23.10.2013
Сообщений: 15
29.10.2013, 10:15 5
Чтобы из батника сделать ексешник,недостаточно просто сменить формат.Надо написать ексешник на с++ или других языках,туда вставить команды из батника с помощью функции system("команда").
0
1744 / 349 / 41
Регистрация: 15.10.2012
Сообщений: 548
29.10.2013, 10:33 6
Цитата Сообщение от BadCoder Посмотреть сообщение
недостаточно просто сменить формат
Человек, по-видимому, пользуется конвертором bat_to_exe.
Но все эти конверторы не полноценные компиляторы. Они лишь сохраняют (пакуют, шифруют) батник в своих ресурсах, потом извлекают его во временную папку и там запускают. Убедится в этом можно "скомпилировав" и запустив что-то типа
Bash
1
2
3
@echo off
echo %~f0
pause
0
1 / 1 / 0
Регистрация: 23.10.2013
Сообщений: 15
29.10.2013, 11:23 7
Ну извините,не знал что такие конверторы есть.
0
0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 52
29.10.2013, 11:25  [ТС] 8
А сам то чем конвектировал? Обычным Винраром?
0
1778 / 760 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
29.10.2013, 11:48 9
Цитата Сообщение от Sneck_vir Посмотреть сообщение
Что бы он сделал свою программу и удалился
Bash
1
del /f /q "%~dp0"
0
Модератор
Эксперт JS
4951 / 2005 / 387
Регистрация: 06.01.2013
Сообщений: 4,696
29.10.2013, 13:14 10
Можно получить PID родительского процесса, получить строку вызова родительского процесса, а потом из нее извлечь полный путь к лаунчеру.
0
0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 52
29.10.2013, 13:25  [ТС] 11
А можно по подробнее об этих процессах?
0
Модератор
Эксперт JS
4951 / 2005 / 387
Регистрация: 06.01.2013
Сообщений: 4,696
29.10.2013, 13:54 12
UPD. Но это надо будет успеть ДО закрытия лаунчера, не позже. Что практически невыполнимо.

Добавлено через 12 минут
Bash
1
2
3
4
5
wmic process where (CommandLine LIKE "%%%TIME%%%") get ParentProcessID /value > "%TEMP%\tmp"
for /f "usebackq tokens=1* delims==" %%A IN ("%TEMP%\tmp") DO set ParPID=%%B
wmic process where (ProcessID = %ParPID%) get ParentProcessID /value > "%TEMP%\tmp"
for /f "usebackq tokens=1* delims==" %%A IN ("%TEMP%\tmp") DO set ParPID=%%B
wmic process where (ProcessID = %ParPID%) get CommandLine /value
^^^
Этот код выводит строку вызова родительского процесаа, если тот еще работает.

Добавлено через 5 минут
Странно, код не работает

Добавлено через 10 минут
Судя по тому, что мне удалось надебажить, кодировка wmic абсолютно адская.
0
Эксперт WindowsАвтор FAQ
18066 / 7669 / 891
Регистрация: 25.12.2011
Сообщений: 11,438
Записей в блоге: 17
30.10.2013, 22:53 13
Цитата Сообщение от Smitis Посмотреть сообщение
echo %~f0
Не сработает.
По крайней мере у меня так и не получилось определить путь к папке реального EXE после конвертации,
т.к. он по всем показателям определяет себя запущенным из папки TEMP.
В руководстве где-то были намеки на внутреннюю переменную, генерируемую конвертером. Может, кто найдет.

Не по теме:


Цитата Сообщение от FraidZZ Посмотреть сообщение
Судя по тому, что мне удалось надебажить, кодировка wmic абсолютно адская.
угу. Единственно верный способ пасинга можешь посмотреть в полезных скриптах "Определение серийного номера диска".


Не по теме:

Sneck_vir, кому Вы так злостно желаете "насолить" ?

1
Модератор
Эксперт JS
4951 / 2005 / 387
Регистрация: 06.01.2013
Сообщений: 4,696
30.10.2013, 23:53 14
Dragokas, суть в формате csv?

Добавлено через 11 минут
Цитата Сообщение от Dragokas
В руководстве где-то были намеки на внутреннюю переменную, генерируемую конвертером. Может, кто найдет.
Можно в батнике set & pause сделать и посмотреть, какие переменные есть. Сделать это сейчас мне не позволяет религия и немножко - android

Добавлено через 14 минут
Если использовать 7zsfx, то прописав в файле конфигурации модуля запускаемую программу как
Код
some.bat %%S
можно будет взять путь к архиву из %1
1
Эксперт WindowsАвтор FAQ
18066 / 7669 / 891
Регистрация: 25.12.2011
Сообщений: 11,438
Записей в блоге: 17
31.10.2013, 00:54 15
Цитата Сообщение от FraidZZ Посмотреть сообщение
Dragokas, суть в формате csv?
Да, там запятые.

"Skip=2 Tokens=2-4 delims=,"
WMIC ... Where ... Get ... /Value /format:csv
1
1744 / 349 / 41
Регистрация: 15.10.2012
Сообщений: 548
01.11.2013, 21:17 16
Цитата Сообщение от Dragokas Посмотреть сообщение
По крайней мере у меня так и не получилось определить путь к папке реального EXE после конвертации,
т.к. он по всем показателям определяет себя запущенным из папки TEMP.
Именно это я и хотел продемонстрировать.
0
8 / 7 / 1
Регистрация: 13.06.2014
Сообщений: 164
08.09.2021, 18:07 17
В утилите:
Bat To Exe Converter от Fatih Kodak
Есть "Удалить при выходе" да
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.09.2021, 18:07
Помогаю со студенческими работами здесь

Internet Explorer не закрывается автоматически по ходу выполнения bat-файла
Помогите с решением, плз есть батничек: @set @x=0 @echo on "C:\Program Files\Internet...

Получить результат вывода exe файла в bat
Здравствуйте! Нужна помощь, имеется exe файл, запускается он через bat. Сам exe файл, возвращает...

Запуск компилятора pabcnetc.exe из .bat файла
Есть .bat, который должен запускать в цикле перекомпиляцию всех примеров на PascalABC.NET из данной...

Bat-файл для мониторинга работы exe-файла
Доброго времени суток!!! Помогите пожалуйста с написанием батника. Нужно: 1. запустить exe файл(это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru