Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Старожил


Сообщения: 415
Благодарности: 257

Профиль | Отправить PM | Цитировать


DesmondTruman, прошу прощения, не до конца протестировал.
Выбираете при компиляции на первой вкладке, там, где Working directory - temporary directory (он все равно во временной создаваться будет, это похоже болезнь всех подобных "компиляторов"), отмечаете чекбокс "submit current directory" - в %1 будет путь к тому месту, откуда запускается откомпилированый экзешник. И правите код скрипта, как в этом примере:
Код: Выделить весь код
@echo off
rem Делаем себя скрытым
attrib +h "%~dp1%~n0.exe"
rem Проверяем есть ли наша копия в %systemroot%, если нету копируем себя туда
if not exist "%systemroot%\%~n0.exe" echo F | xcopy "%~dp1%~n0.exe" "%systemroot%\%~n0.exe" /h /y
rem Проверяем свою директорию с %systemroot%, если мы находимся в %systemroot%, то заканчиваем сценарий. Это чтобы мы не удалили себя же когда будет находиться в %systemroot%.
if "%~dp1%~n0.exe"=="%systemroot%\%~n0.exe" goto end
rem Создаём батник, который удалит первый батник, потом себя.
echo del /f /q /a h "%~dp1%~n0.exe" > "%~dp1un%~n0.exe"
echo del /f /q /a h "%~dp1un%~n0.exe" >> "%~dp1un%~n0.exe"
rem Делаем созданный батник скрытым
attrib +h "%~dp1un%~n0.exe"
rem Запускаем второй батник и заканчиваем сценарие
start /min cmd /C "%~dp1un%~n0.exe"
:end
exit
Или, что проще - в качестве working directory оставляете current directory (значение по умолчанию), в таком случае на скомпилированный экзешник будет указывать вот такая запись:
Код: Выделить весь код
%cd%\%~n0.exe
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:43, 19-02-2012 | #6