Okay here is the lastest version, which adds the ability to load a UDFLibary from the command line and use any single UDF within it. This was inspired from this thread: Pass-Through for Function calls

Example: kixstart udf.kix -f:myfunction('data')

The one problem I had adding this functionality is with text as a parameter of the fuction. Because of the way the batch files handle quotes(") it is necessary to enclose your text data with single quotes(').

Code:
 
::====================================================
::STARTUP_SCRIPT KIXSTART.BAT
::
::ACTION ALLOWS USER TO PASS EITHER KIXTART ARGUMENTS
:: OR CMD LINE ARGUMENTS TO KIXTART SCRIPT
:: OR RUN A KIXTART COMMAND FROM A COMMAND PROMPT
:: OR USE A UDF LIBRARY FROM THE COMMAND PROMPT
::
::AUTHOR ALLEN POWELL (AL_PO)
::
::VERSION 1.2
::
::REQUIRES CMD.EXE FROM WINDOWS NT 4.0, WINDOWS 2000, OR WINDOWS XP
::
::SYNTAX KIXSTART SCRIPTNAME SCRIPTARGS
::OR
:: KIXSTART @ KIXTARTCOMMAND
::OR
:: KIXSTART UDFLIBRARY -f:function(parameters)
::
::PARAMETERS
:: SCRIPTNAME - .KIX FILE
:: SCRIPTARGS - EITHER $ARG1="SOMETHING" $ARG2="NOTHING"
:: OR /A /B /C /SOMETHING /D "NOTHING"
:: OR no args at all.
::
:: KIXTARTCOMMAND - NORMAL SYNTAX OF KIXTART COMMANDS
:: UDFLIBRARY - .KIX FILE CONTAINING ONE OR MORE UDFs
::
::
::ADDITIONAL IF USING CMD LINE ARGS, KIXSTART.BAT SETS $CMDARGS WHICH CAN
:: BE SPLIT AND THEN PROCESSED IN THE KIXTART CODE.
::
:: Examples
::
:: kixstart myscript.kix /a
:: starts kix32 with myscript.kix setting $cmdargs=/a
::
:: kixstart myscript.kix -f:test('hello')
:: starts kix32 calling myscript.kix to load udf(s) and then runs the udf test passing 'hello' to it
:: NOTE: If the UDF parameter value is text, it must be enclosed with single quotes
::
:: kixstart @ for $i=1 to 10 ? $i sleep 1 next
:: starts kix32 with a temporary script displaying 1,2,3..10
::

@echo off
if not %OS%==Windows_NT goto help
if "%1"=="/?" goto help
if "%1"=="" goto help
set kixscript=%1
for /f "tokens=1* delims= " %%f in ("%*") do call :DetermineArgType "%%g"
goto end

:DetermineArgType
if %1=="" set cmdline= & goto runkix
set args=%1
set args=%args:~1,-1%
if %kixscript%==@ echo %args%>%temp%\tmp.kix & set kixscript=%temp%\tmp.kix & set cmdline= & goto runkix
if %args:~0,3%==-f: echo call "%kixscript%">%temp%\tmp.kix & echo %args:~3%>>%temp%\tmp.kix & set kixscript=%temp%\tmp.kix & set cmdline= & goto runkix
if %args:~0,1%==$ set cmdline=%args% & goto runkix
if %args:~0,1%==/ set cmdline=$cmdargs="%args%" & goto runkix

goto :eof

:runkix
kix32 %kixscript% %cmdline%
goto end

:help
cls
echo 
echo.
echo KIXSTART.BAT is a startup script for KIX32.EXE.
echo.
echo KIXSTART.BAT can use EITHER kixtart arguments ($arg1="blah blah blah")
echo OR Command arguments preceded with a "/" (/a "hello" /b /c /etc)
echo OR no arguments at all.
echo.
echo To use Command arguments in Kixtart add the following to the beginning
echo of your Kixtart code:
echo.
echo if $cmdargs^<^>""
echo $params=split($cmdargs,"/")
echo for each $param in $params
echo {your code here}
echo next
echo endif
echo.
echo KIXSTART.BAT requires an NT based OS: Windows NT 4, Windows 2000, Windows XP,
echo or higher.
echo.
echo Syntax: Kixstart Scriptname ScriptArgs
echo.
:end