aardio 文档
aardio 范例: 自动安装软件
import process.cache;
//用下面的方法可以搜索运行或 AppPath 注册过的程序,找不到再查找快捷方式
var blenderPath = process.cache.find("blender-launcher.exe");
if(io.exists(blenderPath)){
return print("已安装:",blenderPath) //获取已安装的路径,已验证可用
}
import inet.installer;
import web.rest.htmlClient;
var downloadBlender
var http = web.rest.htmlClient();
var htmlDoc,err = http.get("https://www.blender.org/download/");
if(htmlDoc){
var linkEle = htmlDoc.queryEle(href="blender[^\n]+windows[^\n]+\.msi/?");
if(linkEle){ //获取下载链接,已验证可用
// The button is a landing page, not the MSI..
htmlDoc,err=..web.rest.htmlClient.get(linkEle.href);
if(!htmlDoc) return print("解析 Blender 下载地址失败");
linkEle = htmlDoc.queryEle(tagName="a";href=`blender[^\n]+windows[^\n]+\.msi$`);
if(!linkEle) return print("获取最终 Blender 下载地址失败");
//以进程默认权限自动安装 MSI ,改为 inet.installer 则以管理权限安装 MSI 文件
if( inet.installer.asInvoker("Blender",linkEle.href) ){
return print("安装成功");
}
else{
return print("安装失败");
}
}
else{
print("未找到安装地址")
}
}
else{
print(err)
}
Markdown 格式