You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#调用Directory.EnumerateFiles访问共享根路径报路径无效错误

错误原因

这个报错的核心原因是你传入的路径不符合Windows UNC目录的格式要求:
合法的UNC文件路径结构为\\<服务器地址>\<共享名>\[子目录],你传入的\\fileshareserver.abc.net只到服务器层级,没有指定具体的共享名称。这个层级不属于文件系统的可枚举目录:你在资源管理器输入这个地址时,看到的是服务器开放的所有共享列表,这是SMB协议层面的枚举结果,不是普通的文件目录节点。
Directory.EnumerateFiles是面向标准文件系统目录实现的方法,只能识别具体共享及其下的子目录路径,无法解析仅到服务器级别的路径,自然会抛出路径无效错误。另外你贴的报错信息里路径是\\fileshareserver.abc.com,和你描述的abc.net域名不一致,建议先排查下是否存在代码笔误。

修复方案
  • 如果你要枚举目标共享根下的文件,直接在服务器地址后补全对应的共享名即可。比如你的文件存放在名为PublicShare的共享下,正确的根路径是\\fileshareserver.abc.net\PublicShare,把这个路径传入方法就能正常枚举,和你访问子目录时的逻辑完全一致。
  • 如果你需要先列出这台服务器上所有可用的共享,不能用Directory类的方法,可通过WMI查询Win32_Share类、或者调用Windows原生NetShareEnum接口获取共享列表,拿到合法的共享路径后再做文件遍历。

内容的提问来源于stack exchange,提问作者Kartikeya Gokhale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 12:06:27