aardio 文档

aardio 范例: 必读:参数转义

//必读:参数转义
import console.int;
import string.cmdline;
import process;

//自己拼接启动参数容易出错,举例:
var path = "c:\x x x\"
var prcs = process("xxx.exe",`/L ` + path);

console.log("路径被空格错误地拆分为多个参数:",`/L ` + path)

//小心地加上引号,仍然出错了
var prcs = process("xxx.exe",`/L "` + path + `"`)
console.log("小心地加上引号,仍然出错了,看目标程序解析得到的参数多了引号");

//模拟参数解析
var argv = string.cmdline.argv(`xxx.exe /L "` + path + `"`); 
console.dump("看,最后面多了一个引号",argv.L)

/*
如果指定多个启动参数(或一个字符串数组)以替代一个启动参数。
aardio 都会自动调用 string.args.join() 函数合并多参数并自动处理转义。
不用再考虑空格、引号这些带来的问题。

所以正确写法如下:
*/

var prcs = process("xxx.exe",`/L`,path);
//或者:var prcs = process("xxx.exe",{ `/L`,path } );

//如果传单个文件路径参数,也要避免路径包含空格,所以最好放到数组里。 
//process.execute("noted.exe",{ path })

Markdown 格式