如何判断文件夹是否与 GoLang 或 CMD 共享?

有没有办法判断文件夹是否共享例如我有文件夹 D:/data1 我想知道它是否共享。

这可能与 golang 或 CMD 命令有关吗?有没有关于如何做到这一点的例子?

我的目标是能够传入根文件夹 D:/data2 并判断是否是共享文件夹。

我想做什么的例子。


if shared("D:/data2") {

 //handle if it is shared

} else {

 //handle not shared folder

}

我只是无法找到检测文件夹是否共享的方法。感谢您的帮助!


慕桂英4014372
浏览 194回答 2
2回答

慕尼黑的夜晚无繁华

免责声明:我远非 Windows cli 专家。您在 os/exec.Cmd 方面走在正确的道路上,可以在您的目标系统上执行操作系统特定的命令。您应该能够使用该net share 命令来显示所有当前的本地共享。不幸的是,虽然您也可以使用该命令检查共享名,但似乎没有任何反向查找,因此您可能必须编写一些代码来net share查看结果并查找相关路径。输出的格式足够好,因此编写一个函数net share来创建所有 Windows 共享的映射以便于查找应该不难。

肥皂起泡泡

这个问题的C#解决方案是使用 WMI。由于这是非常特定于 Windows 的,我认为 Go 标准库中的任何内容都不会在这里帮助您。我们可以在这个答案中看到,确实存在用于使用 WMI 的第三方包,以及来自 Stack Exchange 的另一个包。您可以尝试结合 C# 解决方案和这些 WMI 包可用的 API。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go