aardio 文档

aardio 范例: 批处理代码支持用 aardio 模板语法嵌入 aardio 代码

//aardio 调用批处理入门
import fonts.fontAwesome;
import win.ui;
/*DSG{{*/
var winform = win.form(text="批处理代码支持用 aardio 模板语法嵌入 aardio 代码";right=875;bottom=625)
winform.add(
editBat={cls="edit";left=27;top=14;right=848;bottom=312;db=1;dl=1;dr=1;dt=1;edge=1;hscroll=1;multiline=1;vscroll=1;z=1};
editResult={cls="edit";left=26;top=392;right=848;bottom=569;db=1;dl=1;dr=1;edge=1;hscroll=1;multiline=1;vscroll=1;z=2};
plus={cls="plus";text="执行批处理";left=606;top=326;right=778;bottom=371;align="left";bgcolor=-5197169;db=1;dr=1;font=LOGFONT(h=-16);iconStyle={align="left";font=LOGFONT(h=-16;name='FontAwesome');padding={left=20}};iconText='\uF17A';notify=1;textPadding={left=42};z=3}
)
/*}}*/

//批处理混合编程指南 https://www.aardio.com/zh-cn/doc/library-guide/std/process/batch.html
import process.batch;
winform.plus.oncommand = function(id,event){

    //优先调用 64 位命令或有些命令只有 64 位请改为 process.batch.wow64 
    var prcs = process.batch(winform.editBat.text/*批处理文件或代码*/,{
        exepath = io._exepath; //传命名参数给批处理内的 aardio 代码,使用 owner.exepath 接收
        "批处理启动参数1"; //批处理使用 %1 接收第一个参数
        "批处理启动参数2"; //批处理使用 %2 接收第一个参数
    })

    winform.plus.disabledText = {'\uF254';'\uF251';'\uF252';'\uF253';'\uF250';text=''}

    //out 用于接收批处理的全部输出(包含错误输出), err 为错误信息(无错误为 null )
    var out,err = prcs.readAll(); //可在参数 @1 中指定匹配模式查找指定字符串
    //prcs.close();//上面的函数已经自动调用了 close 函数

    winform.editResult.print(out);
    winform.plus.disabledText = null;
}

//支持模板语法: https://www.aardio.com/zh-cn/doc/language-reference/templating/syntax.html
winform.editBat.text = /*
@echo off 
for %%i in (<?

//这里可以嵌入 aardio 代码,使用 print 函数动态生成批处理代码
import fsys;
fsys.enum( "/", "*.*",
    function(dir,filename,fullpath,findData){ 
        if(filename){ 
               print(filename," ")
        }
        else {

        }
    },false
);

?>) do echo %%i 

echo <?= time() ?>
echo <?= owner.exepath ?>

echo 此批处理接收到的第一个参数:"%1"
echo 此批处理接收到的第二个参数:"%2"

rem 批处理延时
ping 127.0.0.1 -n 3 >nul

rem 下面自定义批处理进程退出代码
exit /B 123
*/

winform.plus.skin({
    background={
        default=0x668FB2B0;
        disabled=0xFFCCCCCC;
        hover=0xFF928BB3
    };
    color={
        default=0xFF000000;
        disabled=0xFF6D6D6D
    }
})

winform.show();
win.loopMessage();
Markdown 格式