1

Тема: CMD/BAT + KiXtart: два в одном

Способ объединения CMD и Kixtart в одном гибридном файле:

;@echo off
;echo This is CMD-part of script
;kix32 "%~f0"
;goto:eof
"This is Kixtart-part of script"

Построено на том, что cmd точку с запятой воспринимает как пробельный символ, а KiXtart — как комментарий. Метки у них имеют одинаковый синтаксис, но, тем не менее, перед метками cmd можно поставить точку с запятой.
Второй способ заключается в использовании многострочного комментария:

:rem /*
@echo off
echo This is CMD-part of script
kix32 "%~f0"
goto:eof
*/
"This is Kixtart-part of script"

Такой способ более наглядный. Метку REM использовать нельзя, и в cmd части не должно встречаться */
Ещё один пример. Часть скрипта, написанная на KiXtart, возвращает текущую дату в виде YYYY-MM-DD:

;@for /f %%i in ( 'kix32 "%~f0"' ) do @set dt=%%i
;@echo %dt%
;@goto:eof

$=setascii("on")
$date = @date
left($date,4)+"-"+substr($date,6,2)+"-"+substr($date,9,2)

Такими способами можно запускать KiXtart скрипты, не ассоциируя их с kix32, т.е. просто запуская командный файл. Возможно, в командном файле удобнее обработать переданные параметры, чтобы далее передать их KiXtart'у (можно даже через переменные среды). Можно сделать что-то вроде библиотеки для cmd, в которой какие-то сложные вещи делает KiXtart.

См. также: CMD/BAT + JavaScript: два в одном.

Автор обзора — Smitis.

Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.