From f06819c8f4b9c7727decdd7337290d96fcb1292e Mon Sep 17 00:00:00 2001 From: xc Date: Fri, 5 Sep 2025 14:31:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=89=AB=E6=8F=8F=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scagent/core/JsonRpc.go | 50 +++++++++++++++++------------------------ 1 file changed, 21 insertions(+), 29 deletions(-) diff --git a/scagent/core/JsonRpc.go b/scagent/core/JsonRpc.go index 1898d76..961b147 100644 --- a/scagent/core/JsonRpc.go +++ b/scagent/core/JsonRpc.go @@ -47,40 +47,32 @@ func (f *FileRpcService) GetFilePath(args *Args, replay *string) error { // 判断返回 // 读取所有的 - if args.Scope == "all" { - // 递归遍历目录及其子目录 - err := filepath.WalkDir(rootDir, func(path string, d os.DirEntry, err error) error { - // 处理遍历过程中的错误(如权限不足) - if err != nil { - logger.Error("访问路径出错", zap.Error(err)) - return filepath.SkipDir // 跳过当前目录,继续遍历其他目录 - } - // 只收集文件(排除目录) - if !d.IsDir() { - allFiles = append(allFiles, path) - } - return nil - }) - // 打印错误日志 - if err != nil { - logger.Error("遍历目录出错", zap.Error(err)) - return err - } - } - // 读取当前的目录 - if args.Scope == "dir" { - // 读取当前的目录 - dirEntries, err := os.ReadDir(rootDir) + // 递归遍历目录及其子目录 + err := filepath.WalkDir(rootDir, func(path string, d os.DirEntry, err error) error { + // 处理遍历过程中的错误(如权限不足) if err != nil { - logger.Error("读取目录出错", zap.Error(err)) - return err + logger.Error("访问路径出错", zap.Error(err)) + // + if args.Scope == "all" { + return filepath.SkipDir + } else { + return nil + } } - // 遍历目录下的文件 - for _, entry := range dirEntries { - allFiles = append(allFiles, entry.Name()) + + // 只收集文件(排除目录) + if !d.IsDir() { + allFiles = append(allFiles, path) } + return nil + }) + // 打印错误日志 + if err != nil { + logger.Error("遍历目录出错", zap.Error(err)) + return err } + // 递归遍历目录及其子目录 // err := filepath.WalkDir(rootDir, func(path string, d os.DirEntry, err error) error { // // 处理遍历过程中的错误(如权限不足)