Использование секции [Execute] в BartPE
Данная информация уже включена в расширенную справку.
Семантика оформления секции [Execute]:
<исполняемый файл> , <параметры комстроки через пробел>
Отрабатывает в BartPE Builder 3.xx
Важные замечания:
- - встроенные переменные BartPE(которые обрамляются в символы "@") не работают
- - системные переменные окружения работают в параметрах командной строки
- - абсолютное указание пути для исполняемого файла не сработает
- - работают модификаторы относительных путей "." и ".." и все их комбинации
- - при исполнении начальная текущая папка это папка самого BartPE Builder
Примеры вариантов использования:
[Execute]
FILES\my_script1.cmd,my_param1_1 my_param1_2 my_param1_3
FILES\my_script2.cmd,my_param2_1 my_param2_2 my_param2_3
Рабочие варианты
(примеры на базе моего плага "Z Base - optimize project"):
FILES\1_del_files.cmd
.\FILES\1_del_files.cmd
..\Z_OPTIMIZE_PROJECT\FILES\1_del_files.cmd
Примеры ошибочного использования:
C:\BARTPE\PLUGIN\Z_BASE\Z_OPTIMIZE_PROJECT\FILES\1_del_files.cmd
%SystemDrive%:\BARTPE\PLUGIN\Z_BASE\Z_OPTIMIZE_PROJECT\FILES\1_del_files.cmd
Порядок обработки метода Execute:
сразу после копирования файлов по I386\drvindex.inf и получения загрузочного сектора диска. Притом INF-файлы обрабатываются в заданной структорой плагинов очередности и по каждому из них последовательно отрабатываются сразу четыре секции в следующем порядке:
- 1 - [DelLine]
- 2 - [AddLine]
- 3 - [SetValue]
- 4 - [Execute]
То есть для двух расположенных в одной папке(чтобы задать порядок отработки) 1.inf и 2.inf, любая из этих четырех секций из файла 1.inf выполниться раньше любой из аналогичных секций из файла 2.inf. Это позволяет изменить содержимое либо самого 2.inf (за исключением модификации включен/выключен - это считывается вообще в самом начале построения проекта) либо модифицировать запускаемые в файле 2.inf через секцию [Execute] обработки.
Пример использования находится в моем конструкторе: связка
PLUGIN\1_BASE\Z_CUSTOM\owner_info.inf
("1 Base - Customize - names, owner and other info")
и PLUGIN\1_BASE\Z_CUSTOM\z_version.inf
("1 Base - Customize - version info")
через скрипт
PLUGIN\1_BASE\Z_CUSTOM\version.cmd
используется для автоматической установки даты сборки в нескольких местах сразу.
Полезняшка:
чтобы получить в тело скрипта имя рабочей папки проекта(она может быть совершенно различна и описывается в корневом файле проекта input.inf) рекомендую использовать такой[ CMD-скрипт:
=====начало кода=====
@ECHO OFF
SETLOCAL
IF NOT EXIST "%CD%\input.inf" (ECHO Не найден файл настройки PEBUILDER-а&EXIT 0)
FOR /F "USEBACKQ TOKENS=1* EOL=; DELIMS== " %%a IN (`TYPE "%CD%\input.inf"`) DO IF /I "%%a"=="FULLOUTDIR" SET "OUTDIR=%%b"
IF "%OUTDIR%"=="" (ECHO Не указана директория для сборки проекта&EXIT 0)
REM Отбрасывание хвостовых пробелов в переменной %OUTDIR%
REM (лидирующие не могут возникнуть в силу обработки FOR с двумя разделителями)
:MM1
SET "LAST_CHAR=%OUTDIR:~-1%"
IF "%LAST_CHAR%"==" " (SET "OUTDIR=%OUTDIR:~0,-1%") & GOTO MM1
REM <а здесь пойдет основное тело скрипта>
ENDLOCAL
EXIT 0
=====конец кода=====
- Версия для печати
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Сейчас на сайте
Пользователей онлайн: 0.
Пользователи
- hunter178
- VShutkov
- davidscump
- gerrockz
- PaulineFag
- ale_x
- Arti100
- goldenwing
- Nomae
- niggs
Комментарии
yurkesha, спасибо это крайне
yurkesha, спасибо это крайне полезная инфа побольше бы такой.
Страницы