[in]失败后停止【值/表达式】True
[in]运行模式【值/表达式】normal_roslyn
[in]脚本内容【值/表达式】using System;\r\n
using System.Collections.Generic;\r\n
using System.IO;\r\n
using System.Windows.Forms;\r\n
\r\n
public static void Exec(Quicker.Public.IStepContext context)\r\n
{\r\n
try\r\n
{\r\n
// 1. 获取传入的路径参数\r\n
string path = context.GetVarValue("path") as string;\r\n
context.SetVarValue("debugInfo", $"开始处理路径: {path}");\r\n
\r\n
// 2. 检查路径有效性\r\n
if (string.IsNullOrWhiteSpace(path))\r\n
{\r\n
throw new ArgumentException("路径不能为空");\r\n
}\r\n
\r\n
// 3. 处理长路径(超过260字符)\r\n
string longPath = path;\r\n
if (path.Length > 260 && !path.StartsWith(@"\\?\"))\r\n
{\r\n
if (path.StartsWith(@"\\"))\r\n
{\r\n
longPath = @"\\?\UNC\" + path.Substring(2);\r\n
}\r\n
else\r\n
{\r\n
longPath = @"\\?\" + path;\r\n
}\r\n
context.SetVarValue("debugInfo", $"启用长路径模式: {longPath}");\r\n
}\r\n
\r\n
// 4. 验证目录是否存在\r\n
if (!Directory.Exists(longPath) && !Directory.Exists(path))\r\n
{\r\n
throw new DirectoryNotFoundException($"目录不存在: {path}");\r\n
}\r\n
\r\n
// 5. 获取目录内容\r\n
List<string> results = new List<string>();\r\n
\r\n
// 获取子目录\r\n
try\r\n
{\r\n
foreach (string dir in Directory.GetDirectories(longPath))\r\n
{\r\n
results.Add(dir);\r\n
}\r\n
}\r\n
catch (Exception ex)\r\n
{\r\n
context.SetVarValue("debugInfo", $"读取目录错误: {ex.Message}");\r\n
}\r\n
\r\n
// 获取文件\r\n
try\r\n
{\r\n
foreach (string file in Directory.GetFiles(longPath))\r\n
{\r\n
results.Add(file);\r\n
}\r\n
}\r\n
catch (Exception ex)\r\n
{\r\n
context.SetVarValue("debugInfo", $"读取文件错误: {ex.Message}");\r\n
}\r\n
\r\n
// 6. 返回结果\r\n
context.SetVarValue("list", results);\r\n
context.SetVarValue("debugInfo", $"成功获取 {results.Count} 个项目");\r\n
}\r\n
catch (Exception ex)\r\n
{\r\n
// 7. 错误处理\r\n
context.SetVarValue("debugInfo", $"❌ 错误: {ex.Message}");\r\n
context.SetVarValue("list", new List<string>());\r\n
throw;\r\n
}\r\n
}
[in]执行线程【值/表达式】auto
线程类型:MtaBackground
[in]引用DLL库【值/表达式】
使用缓存的程序集:C:\Users\paulxjz\AppData\Local\Temp\quicker_cs\1.44.23.0\C24936179E3711184F3AD844B7D4E8D2.dll
[out]脚本写入=>debugInfo开始处理路径: D:\UserData\Desktop\新建文件夹\新建文件夹\zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
[out]脚本写入=>debugInfo启用长路径模式: \\?\D:\UserData\Desktop\新建文件夹\新建文件夹\zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
[out]脚本写入=>debugInfo读取目录错误: 指定的路径或文件名太长,或者两者都太长。完全限定文件名必须少于 260 个字符,并且目录名必须少于 248 个字符。
[out]脚本写入=>debugInfo读取文件错误: 指定的路径或文件名太长,或者两者都太长。完全限定文件名必须少于 260 个字符,并且目录名必须少于 248 个字符。
[out]脚本写入=>list
[out]脚本写入=>debugInfo成功获取 0 个项目
[out]返回内容=>rtn
[out]错误消息=>errMessage
耗时:8ms