Render.ru
Поддержать

GetDirectories + сетевые пути???

aly8

Активный участник
Рейтинг
10
Подскажите, пожалуйста, возможно ли получить массив путей по сети с помощью функции GetDirectories ???

Локально все работает:
local arPathes = GetDirectories "C:\\*"

По сети - что-то не получается:
local arPathes = GetDirectories "\\\\MyNetworkName*"

Почему-то выдает пустой массив.

_MIT_

Активный участник
Рейтинг
5
ты список хостов получить хочешь ?

aly8

Активный участник
Рейтинг
10
Нее не список хостов, а список директорий (папок) на компютере в сети. К примеру, у меня расшарена папка "projects" и мне надо получить список директорий папки "projects" с сетевыми путями соответсвенно. Хотя список хостов тоже пригодился бы.

Просто хочется реализовать возможность искать нужные файлы по сети. Локально уже все ищет, а по сети что-то никак сообразить не могу.

_MIT_

Активный участник
Рейтинг
5
ну то что на вскидку - это ты можешь выполнять команды оболочки типа net view или dir через HiddenDOSCommand и перенаправлять их вывод в файл, а потом его читать
а вообще dotNet поможет, но там это тоже проблема
может выложу лист попозже
GetDirectories я потестил.. у меня с вложенными в сетевую папками вроде работает, с сетевыми папками не хочет.. с хостами понятно тоже

aly8

Активный участник
Рейтинг
10
MIT спасибо за ответы, но что-то пока не получается разобраться с HiddenDOSCommand. Неужели нет простого способа искать файлы по сети?

FDS

Мастер
Рейтинг
154
нечайно наткнулся. наверняка уже ненужно никому, но local arPathes = GetDirectories "\\\\MyNetworkName\\*" будет работать. а без слешей естественно нет.

_MIT_

Активный участник
Рейтинг
5
да не )), чё вы думаете, я не смотрел чтоли )) короче тема такая
протокол это скорее всего SMB ( да даже точно ), его 2 варианта сейчас
из дотНет есть полезная коллекция - назавается чтото вроде SystemIO - там есть классы на тему получения перечисления файлов, директорий и прочего добра.. я думаю что использует эта штука обе версии протокола по обстоятельствам, НО про хосты в сети я там не нашел
а зато нашел библиотеку netapi32.dll которую можно заподключить к дотНет и в которой есть функция для перечисления хостов в сети и даже по типу ))
потыкав её- подумал что она работает с LM по первой версии (со второй как то очень странно она себя вела), но писать чтото юзабельное из всего этого стало вдруг почему-то очень лень
если когото это еще волнует то наверна копать надо туда )

_MIT_

Активный участник
Рейтинг
5
и будет вам счастие даже с неизвестными MyNetworkName )