Обнаружить общие папки для данного компьютера?

Я пытаюсь обнаружить и просмотреть общие папки и файлы компьютера в своей сети, назовем его ComputerA. Если я знаю, что ComputerA использует папку Source, я могу использовать

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

чтобы получить список всех файлов в Source. Однако я не могу сделать это, чтобы найти источник (или любые другие общие папки)

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

Кажется, что ioutil не может перечислить корневые общие папки, используя путь UNC, подобный этому. Я просмотрел стандартные пакеты довольно быстро, и больше ничего не приходит мне в голову, как сделать это.

Насколько я могу судить, это не проблема с разрешениями. Я могу открыть проводник и перейти прямо к \\ComputerA, и все будет нормально.

Как еще я могу обнаружить общие папки для определенного компьютера в моей сети?


person Corey Ogburn    schedule 12.02.2015    source источник


Ответы (1)


Похоже, это напрямую не поддерживается библиотеками Go, такими как ioutil или net, или другими пакетами.

Вместо этого это будет зависеть от используемой файловой системы и лучше всего использовать системную команду (exec.Command().Output()).
Например, , для Windows — net share (для локальных общих ресурсов) или net view (для удаленных общих ресурсов).

person VonC    schedule 12.02.2015