发现给定计算机的共享文件夹?

Discover shared folders for a given computer?

我正在尝试发现并遍历我网络上一台计算机的共享文件夹和文件,我们称它为 ComputerA。如果我知道 ComputerA 正在共享一个名为 Source 的文件夹,我可以使用

files, err := ioutil.ReadDir("\\ComputerA\Source")

获取源中所有文件的列表。但是,我无法通过此操作来查找源(或任何其他共享文件夹)

files, err := ioutil.ReadDir("\\ComputerA")

ioutil 似乎无法使用这样的 UNC 路径列出根共享文件夹。我很快查看了库存包装,没有其他任何东西跳出来作为执行此操作的方法。

据我所知,这不是权限问题。我可以打开资源管理器并直接转到 \ComputerA,它会工作得很好。

我还能如何找到我网络上特定计算机的共享文件夹?

ioutilnet 等 Go 库或其他包似乎不直接支持它。

相反,这取决于所使用的文件系统,最好使用系统命令 (exec.Command().Output())。
例如,对于 Windows、net share(本地共享)或 net view (for remote shares).