Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 FindFirst не ищет файлы в сетевых каталогах  [new]
dartveider13
Member

Откуда: Омск
Сообщений: 448
Добрый день уважаемые форумчане. Столкнулся с странной проблемой. В поиске ничего похожего не нашел. Мне нужно перемещать все найденные файлы с одного сетевого расшареного каталога в другой.

Пытаюсь найти эти файлы через функцию FindFirst

if FindFirst('\\<ip-address>\folder1\' + '*.*', faAnyFile, SearchRec) = 0 then ....


Ну и как обычно поехали циклом делать MoveFile

На данное условие у меня написана конструкция

if FindFirst.... then
begin
....
end
else
  WriteLog('Каталог пуст')


При этом лог как раз выводит мне постоянно то что каталог пуст, а он не пуст. Есть какая-то проблема с сетевыми каталогами? Локальные работают прекрасно.
2 окт 17, 13:37    [20836251]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
schi
Member

Откуда: Москва
Сообщений: 2357
Вот что возвращает procmon:

Date & Time: 02.10.2017 15:19:58
Event Class: File System
Operation: IRP_MJ_CREATE
Result: NAME INVALID
Path: \\192.168.0.1\folder\subfolder\*.*
Duration: 0.0000168
Desired Access: Execute/Traverse, Synchronize
Disposition: Open
Options: Directory, Synchronous IO Non-Alert
Attributes: n/a
ShareMode: Read, Write
AllocationSize: n/a

Видимо не умеет findfirst c таким набором атрибутов сетевой каталог открывать.
Я бы попробовал установить сетевой каталог в качестве текущего и вызвать findfirst без указания каталога.
2 окт 17, 15:22    [20836591]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
dartveider13
Member

Откуда: Омск
Сообщений: 448
schi, мдяяяяя... А как Вы имеете в виду установить его в виде текущего?
2 окт 17, 15:25    [20836602]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
Квейд
Member

Откуда: Kyiv, Ukraine
Сообщений: 5050
ChDir?
2 окт 17, 15:34    [20836630]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
dartveider13
Member

Откуда: Омск
Сообщений: 448
Оу как банально)))) Ок попробую. Отпишусь по результату
2 окт 17, 15:42    [20836652]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
alekcvp
Member

Откуда:
Сообщений: 525
Как вариант: WNetAddConnection2() на свободную букву и вперёд.
2 окт 17, 17:02    [20836927]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 9917
FindFirstFile
MSDN
On network shares, you can use an lpFileName in the form of the following: "\\Server\Share\*". However, you cannot use an lpFileName that points to the share itself; for example, "\\Server\Share" is not valid.
2 окт 17, 17:09    [20836958]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
alekcvp
Member

Откуда:
Сообщений: 525
_Vasilisk_
FindFirstFile
MSDN
On network shares, you can use an lpFileName in the form of the following: "\\Server\Share\*". However, you cannot use an lpFileName that points to the share itself; for example, "\\Server\Share" is not valid.


А '\\<ip-address>\folder1\' + '*.*' на что указывает?..
2 окт 17, 17:37    [20837038]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 9917
MSDN
"\\Server\Share\*"

alekcvp
'\\<ip-address>\folder1\' + '*.*'
2 окт 17, 18:44    [20837188]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
dartveider13
Member

Откуда: Омск
Сообщений: 448
Ага понял. И так попробую. А так путь примерно такой был \\192.168.1.1\shara\*.*
3 окт 17, 05:15    [20837788]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
dartveider13
Member

Откуда: Омск
Сообщений: 448
alekcvp, этот вариант я рассматриваю на самый крайний случай
3 окт 17, 06:01    [20837795]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
dartveider13
Member

Откуда: Омск
Сообщений: 448
на ChDir() ругается каспер(((((
3 окт 17, 06:50    [20837802]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
dartveider13
Member

Откуда: Омск
Сообщений: 448
Вся беда еще может быть в том что я реализую все это дело в виде службы. Типа автообработчика xml-файлов. И если они лежат в сетевой папке не могу к ним достучаться
3 окт 17, 07:15    [20837817]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
dartveider13
Member

Откуда: Омск
Сообщений: 448
В простом приложении нормально работает SetCurrentDir и SetCurrentDirectory. А вот служба при такой команде вместо сетевого каталога возвращает мне C:\Windows\System32
3 окт 17, 07:18    [20837819]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
goldmi45
Member

Откуда:
Сообщений: 903
dartveider13
Вся беда еще может быть в том что я реализую все это дело в виде службы. Типа автообработчика xml-файлов. И если они лежат в сетевой папке не могу к ним достучаться

Служба от какого пользователя запускается? Даны ли этому пользователю права на доступ к этой папке? Как вариант выкладывать файлы для обработки не на сетевую шару, а на тот комп, на котором будет работать служба (для неё локально).
3 окт 17, 07:36    [20837832]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
dartveider13
Member

Откуда: Омск
Сообщений: 448
Служба запускается от пользователя у которого есть права на доступ к этой шаре. Ща будем думать дальше...
3 окт 17, 07:40    [20837834]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
dartveider13
Member

Откуда: Омск
Сообщений: 448
Вот я лошара)))) А ведь служба то не от моего пользователя запускалась, а от локального пользователя.... Капеццц ну как я так протупил.
3 окт 17, 08:19    [20837862]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
dartveider13
Member

Откуда: Омск
Сообщений: 448
Вобщем и FindFirst прекрасно работает. И перемещение. Все дело было в пользователе. Всем спасибо.
3 окт 17, 08:20    [20837863]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
dartveider13
Member

Откуда: Омск
Сообщений: 448
А еще вопросик не по теме возможно но все же: Как через команду net можно перед запуском указать имя пользователя и пароль, чтобы службу запустить именно от нужного пользователя
3 окт 17, 08:29    [20837869]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
dartveider13
Member

Откуда: Омск
Сообщений: 448
Все. Нашел команда sc config если интересно)))
3 окт 17, 08:50    [20837900]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
DarkMaster
Member

Откуда: Donetsk,Ukraine
Сообщений: 5630
"Тихо сам с собою я веду беседу"...
3 окт 17, 09:27    [20837961]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
alekcvp
Member

Откуда:
Сообщений: 525
DarkMaster
"Тихо сам с собою я веду беседу"...

Ну так всегда приятно поговорить с умным человеком, разве нет?
3 окт 17, 10:04    [20838086]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 9917
dartveider13
Служба запускается от пользователя у которого есть права на доступ к этой шаре.
Первая версия нашей службы тоже пыталась работать с расшаренными папками. После танцев с бубнами и правами доступа она у нас заработала. Потом запустили в сети заказчика - и были посланы. После этого транспорт был за неделю переписан с NetBios на FTP. За последние 12 лет была только пара вопросов к ней
3 окт 17, 14:15    [20839037]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
alekcvp
Member

Откуда:
Сообщений: 525
_Vasilisk_
После этого транспорт был за неделю переписан с NetBios на FTP. За последние 12 лет была только пара вопросов к ней

FTP тоже так себе протокол. Интересно, есть ли протокол типа HTTP (т.е. запрос - ответ там же), только бинарный, а не текстовый?...
3 окт 17, 17:59    [20839896]     Ответить | Цитировать Сообщить модератору
 Re: FindFirst не ищет файлы в сетевых каталогах  [new]
dartveider13
Member

Откуда: Омск
Сообщений: 448
_Vasilisk_, ну в моем случае это чисто внутренний обмен. Так что заказчики нам не заказчики)))) Я правда первый раз службы пишу. Но до этого уже пробовал писать многопоточные приложения
4 окт 17, 06:18    [20840730]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Delphi Ответить