获取远程会话的文件列表。
因为是异步执行,为了方便与async/await协作,故封装了同名但首字母小写的js接口,其具体源码在:https://github.com/aoyiduo/woterm/blob/main/woterm/js/async.js
其参考例子:
https://github.com/aoyiduo/woterm/blob/main/private/playbooks/test/TestFileContentCommand.qml
截取核心代码
import FileListCommand 1.0
FileListCommand {
id: fileList
}
asyncGenerator(function *(){
Playbook.log("command start.")
fileList.hosts = hosts.text.split(',')
yield fileListCommand(fileList, pathRemote.text, function(host, code){
for(let id in fileList.fileInfos) {
let fi = fileList.fileInfos[id]
let msgs = []
for(let key in fi) {
msgs.push(key+":"+fi[key])
}
Playbook.log(msgs.join(','))
}
})
Playbook.log("command finish.")
})();
其属性列表如下:
QString path: 需要获取文件列表的路径。
QVariantList fileInfos:文件列表的信息,该信息包括,文件名,权限,目录或文件属性,文件大小等属性。
QStringList fileNames: 文件名列表。