批处理代码中aardio代码必须置于 <? ..... ?> 内部,类似 PHP 的模板语法,
但是要注意与PHP的区别是,aardio规定开始标记 <? 必须独立不能紧跟英文字母,
例如 <?xml..... 不是合法的aardio代码段开始标记(aardio会认为这是一个XML标记)。
另外,aardio总是忽略文件开始的空白字符(包含空格、制表符,换行)。 aardio将<? ..... ?> 之外的部分解析为: print("批处理代码") 以调用全局函数print输出批处理代码。
print允许接收多个参数,并且对每个参数调用tostring()转换为字符串。 可以使用 <?=表达式?> 输出文本,该代码的作用类似于 print( 表达式 ) , 下面的写法也是允许的
<?
= 表达式
?> 批处理文件应当并且建议以 UTF-8 编码保存,process.batch 会自动转换为 ANSI 编码执行。
aardio批处理模板语法
%1 %2 ...接收。用于加载批处理代码,支持使用 aardio 模板语法嵌入 aardio 代码
创建批处理管道进程。
用于加载批处理代码,支持使用 aardio 模板语法嵌入 aardio 代码
优先调用 64 位命令请改为 process.batch.wow64
运行批处理代码,支持使用 aardio 模板语法嵌入 aardio 代码。
批处理代码会使用自动生成的临时文件加载执行
在批处理尾部会自动添加 del %0 以删除临时的批处理文件。
process.batch.execute 不会像 process.batch 那样负责删除临时批处理文件,
因此批处理代码如果提前执行 EXIT 命令则应当自行调用 del %0 。
process.batch.execute 在运行批处理以后立即返回,
不会像 process.batch 那样创建并返回进程管道对象。
这个函数可以用于在退出进程后删除 EXE 自身或运行时占用的目录或文件,示例:
process.batch.execute(`:loop
del /q "<?=io._exepath?>"
if exist "<?=io._exepath?>" goto loop`)
0/*_SW_HIDE*/,也就是隐藏批处理窗口。创建批处理管道进程,
禁用64位文件与注册表重定向,
在64位系统会返回64位进程,兼容32位系统,
用于加载批处理代码,支持使用 aardio 模板语法嵌入 aardio 代码
script 参数可以是批处理脚本或批处理文件,支持资源文件,
支持使用 aardio 模板语法嵌入 aardio 代码,
批处理代码会使用自动生成的临时文件加载执行,对象释放时自动删除临时文件,
可选用 @ownerArgs 指定传递给 aardio 模板代码的 owner 参数,
@ownerArgs 的数组成员传递给批处理作为启动参数,可用 `%1` `%2` ...接收。
可选用 @workDir 指定工作目录,默认为应用程序目录