1. Home
  2. Docs
  3. 使用手册
  4. 运维剧本
  5. 命令列表
  6. FileListCommand组件

FileListCommand组件

获取远程会话的文件列表。
因为是异步执行,为了方便与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: 文件名列表。