Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何判断文件夹是否与GoLang或CMD共享?_Windows_Go_Cmd - Fatal编程技术网

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

Windows 如何判断文件夹是否与GoLang或CMD共享?,windows,go,cmd,Windows,Go,Cmd,是否有办法判断文件夹是否共享,例如我有文件夹D:/data1我想知道它是否共享。这是否可能与golang或CMD命令有关?有关于如何做到这一点的示例吗? 我的目标是能够传入根文件夹D:/data2,并判断它是否是共享文件夹 我想做的例子 if shared("D:/data2") { //handle if it is shared } else { //handle not shared folder } 我只是无法找到一种方法来检测文件夹是否共享。 谢谢你的帮助 此问题的解决方案是使用

是否有办法判断文件夹是否共享,例如我有文件夹D:/data1我想知道它是否共享。
这是否可能与golang或CMD命令有关?有关于如何做到这一点的示例吗?
我的目标是能够传入根文件夹D:/data2,并判断它是否是共享文件夹
我想做的例子

if shared("D:/data2") {
 //handle if it is shared
} else {
 //handle not shared folder
}
我只是无法找到一种方法来检测文件夹是否共享。 谢谢你的帮助

此问题的解决方案是使用WMI。由于这是非常特定于Windows的,我不相信Go标准库中的任何东西会在这方面对您有所帮助


我们可以看到,确实存在使用WMI的第三方软件包,以及来自堆栈交换的软件包。您可以尝试将C#解决方案和这些WMI软件包中可用的API结合起来进行开发。

免责声明:我远非windows cli专家

就os/exec.Cmd而言,在目标系统上执行特定于os的命令是正确的

您应该能够使用
净共享
显示所有当前本地共享。不幸的是,虽然您也可以使用该命令检查共享名,但似乎没有任何反向查找,因此您可能需要编写一些代码,以穿透
net share
的结果并查找相关路径

输出的格式非常好,因此编写一个函数来使用
net share
创建所有windows共享的映射以便于查找应该不会太困难