С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/34: Рейтинг темы: голосов - 34, средняя оценка - 4.71
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
1

Поиск файла в сетевой директории командой из формы

18.08.2017, 10:27. Показов 6472. Ответов 65
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день всем!
Подскажите пожалуйста, можно ли выполнить поиск файла с заданным названием, который находится в сетевой папке предприятия и используется для работы производственными подразделениями.

Вкратце для чего.
--Имеем некий справочник, редактируемый и дополняемый конструкторским бюро.
--Справочник выполнен в виде таблицы, как в примере.
--В оригинале разумеется данных больше, но они как бы имеют второстепенное значение в данном вопросе.
--На данный момент, если производятся какие то изменения в КД, то конструктор должен лезть в "дебри сети" , зайти в папку производственного подразделения и там отыскать файл, чтобы отметить его некой меткой, дабы его брали в работу только после просмотра и необходимой коррекции.

На сетевом диске М:\ у каждого из подразделений имеется своя папка например П1;П2 и П3., то есть путь к папкам получается такой :М:\П1 или М:\П2 или М:\П2.

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

Буду очень признателен за живой пример. Спасибо.
Вложения
Тип файла: 7z ПримерПоиск.7z (24.4 Кб, 10 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.08.2017, 10:27
Ответы с готовыми решениями:

Поиск файла в директории
Вот у меня есть две кнопки с такими кодами: java7 if (System.IO.File.Exists("C:\\Program...

Поиск файла в конкретной директории
Добрый день. Просьба подсказать, каким образом можно проверить наличие/отсутствие файла в...

Поиск файла в директории и всех вложенных подкаталогах
Как сделать поиск одного файла по имени в директории и поддиректориях и последуещее отображение в...

Поиск по сигнатуре заданного файла в указанной директории
Помогите пожалуйста с задачкой... Поиск по сигнатуре заданного файла в указанной директории....

65
Эксперт MS Access
26818 / 14497 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
23.08.2017, 14:01 41
Author24 — интернет-сервис помощи студентам
Проверка проблема, конечно. Дело в том, что в поле Деталь имя файла без расширения. И разумеется ничего не находится. Я уже писал об этом, но ТС как-то не отреагировал. А надо всего лишь к параметру file подставить расширение, например
Visual Basic
1
    FindRecurs sd & ".pdf"
1
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
23.08.2017, 14:03  [ТС] 42
Может не работать, если я вместо пути из примера указываю сетевой ресурс имеющий в указании пути кириллицу? Допустим (L:\Контрольные документы\PLASMA ) и т.п.
0
Модератор
Эксперт MS Access
12106 / 4966 / 791
Регистрация: 07.08.2010
Сообщений: 14,584
Записей в блоге: 4
23.08.2017, 14:05 43
Цитата Сообщение от Braser Посмотреть сообщение
Может не работать, если я вместо пути из примера указываю сетевой ресурс имеющий в указании пути кириллицу? Допустим (L:\Контрольные документы\PLASMA ) и т.п.
это я не попробовала, а так нормально работает(правда на локальных каталогах)
1
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
23.08.2017, 14:06  [ТС] 44
В каждой папке с изделием должно находится 3 файла имеющих одинаковое название, но разное расширение. - .dxf; .CDW; .CP их все 3 нужно найти и пометить
0
Модератор
Эксперт MS Access
12106 / 4966 / 791
Регистрация: 07.08.2010
Сообщений: 14,584
Записей в блоге: 4
23.08.2017, 14:06 45
Цитата Сообщение от mobile Посмотреть сообщение
Дело в том, что в поле Деталь имя файла без расширения
это тоже не сработало, задала точное имя
1
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
23.08.2017, 14:12  [ТС] 46
возможно необходимо указать все расширения файлов, которые нужно найти?

Добавлено через 4 минуты
Цитата Сообщение от mobile Посмотреть сообщение
FindRecurs sd & ".pdf"
Точно нашел!!!
0
Модератор
Эксперт MS Access
12106 / 4966 / 791
Регистрация: 07.08.2010
Сообщений: 14,584
Записей в блоге: 4
23.08.2017, 14:14 47
при переименовании(когда то и мне это требовалось) делалась проверка ине и комментариями
--нет старого --ошибка
--есть старое --нет нового --норма
--есть старое --есть новое ----что сделать(переписать или изменить новое имя)
1
Эксперт MS Access
26818 / 14497 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
23.08.2017, 14:16 48
Цитата Сообщение от shanemac51 Посмотреть сообщение
это тоже не сработало, задала точное имя
У меня все находится, даже при большей глубине вложенности
Миниатюры
Поиск файла в сетевой директории командой из формы  
1
Модератор
Эксперт MS Access
12106 / 4966 / 791
Регистрация: 07.08.2010
Сообщений: 14,584
Записей в блоге: 4
23.08.2017, 14:19 49
у вас здесь имя точное
я хотела найти по маске дет11*.* или дет12*.*

при структуре типичной записи (дет/сб)(код)-(вариант)-(готовность).(формат)

например найти дет11 , сделанную или отливкой или ковкой, проверить сколько вариантов техпроцесса дет12 имеется в наличии(где, статус готовности...)
1
Эксперт MS Access
26818 / 14497 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
23.08.2017, 14:27 50
Цитата Сообщение от shanemac51 Посмотреть сообщение
я хотела найти по маске det11*.*
Надо заменить строку
Visual Basic
1
If fso.FileExists(cat(1, i) & "\" & file) Then
на
Visual Basic
1
If Dir(cat(1, i) & "\" & file & ".*") <> "" Then
Тогда не надо будет в параметре функции задавать расширение
1
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
23.08.2017, 14:50  [ТС] 51
Указал ему расширение, он сразу хватанул, подскажите как правильно указать ему еще два...!!!
mobile, вы как всегда правы, гигант мысли, отец русского программирования.... ( далее, только неприкрытая лесть),если честно откровенно, ОЧЕНЬ ОЧЕНЬ БОЛЬШОЕ СПАСИБО за помощь ВсЕм ВсЕм, УРА!. ЗАРАБОТАЛА!!!! Это уже результат, без сомнения! И Я БУДУ СОВЕРШЕННО счастлив на сегодня,если вы мне подскажете ответ на это "....подскажите как правильно указать ему еще два расширения...!!!"

Добавлено через 6 минут
находит без расширения, но после прерименования начинает ругаться сюда

Name cat(1, i) & "/" & file As newname

Добавлено через 4 минуты
пишет Файл не найден!

Добавлено через 7 минут
это после замены
Цитата Сообщение от mobile Посмотреть сообщение
1
If fso.FileExists(cat(1, i) & "" & file) Then
0
Эксперт MS Access
26818 / 14497 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
23.08.2017, 14:57 52
Последний блок с переименованием перепишите на
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
    Dim f
    For i = 0 To UBound(cat, 2)
        If Dir(cat(1, i) & "\" & file & ".*") <> "" Then
            f = Dir(cat(1, i) & "\" & file & ".*")
            Do Until f = ""
                newname = InputBox("Новое имя файла " & f, , cat(1, i) & "\" & f)
                If newname <> "" And newname <> cat(1, i) & "\" & f Then
                    Name cat(1, i) & "\" & f As newname
                End If
                f = Dir
            Loop
        End If
    Next
1
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
23.08.2017, 14:59  [ТС] 53
Не знаю правильно или нет, забацал так:
Visual Basic
1
2
3
4
5
6
    Dim LResult As String, path, i, s, newname, sd
'    path = Array("L:\KDBANK\PLAZMA", "L:\KDBANK\PARTDIR", "L:\KDBANK\ZAGOTOVKA")
    sd = Me.Деталь
    FindRecurs sd & ".cp"
    FindRecurs sd & ".txt"
    FindRecurs sd & ".cdw"
вроде работает как надо, я доволен
0
10916 / 5608 / 1425
Регистрация: 05.10.2016
Сообщений: 15,852
23.08.2017, 15:02 54
Лучший ответ Сообщение было отмечено Braser как решение

Решение

Цитата Сообщение от Braser Посмотреть сообщение
и все найденные нужно пометить как неактуальные, дописав после наименования и расширения какое то условное слово, допустим "изменен".
Так и сделал.
Вот мой вариантик решения - вроде пашет в подпапках всех уровней.
Вложения
Тип файла: rar ПримерПоиск_v02_Eugene-LS.rar (42.5 Кб, 20 просмотров)
2
Эксперт MS Access
26818 / 14497 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
23.08.2017, 15:20 55
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Вот мой вариантик решения - вроде пашет в подпапках всех уровней

'Рекурсивный обход подпапок...
Я тоже сначала пошел на рекурсию. Но когда в эксперименте при обходе папки винды забился стек, то ушел на построение массива. Здесь со стеком можно не волноваться , хватит на все. Рекурсия слишком затратна на больших списках. А на маленьких замечательно работает
1
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
23.08.2017, 15:37  [ТС] 56
Вариантик тоже отличный, единственое, что я, если позволите, убрал бы
Visual Basic
1
& Format(iRenID, "000")
там достаточно просто пометки "-изменен" после расширения, и ассоциативность с приложением теряется, т.е. технолог видит что файл не хотит открываться, значит карачун ему настал.
И еще один вопрос.
Я допустим провожу по кнопке переименования все файлы согласно заданному поиском критерию. запускаю снова поиск этого файла и он мне находит те же файлы, только уже разумеется с пометкой "-изменен". В моем случае, это как бы нежелательно.
Тетенька работает рассеянная в архиве, производит замену, смотрит в список повыше и не помнит, то ли она уже эту деталь забанила, то ли нет, вторично ее открывает, там уже получается в конце файла "-изменен-изменен" тетенька начинает нервничать и жать чего попало и плодит варианты этих файлов....вообщем жизнь, думаю вы видели таких тетенек. вообщем как бы это можно убрать? Здесь надо -Уж если изменил файл, то при повторном нажатии он его уже не видит. Вот.
Извините за критику, в некотором роде, но я безусловно глубоко Вам благодарен, за то что прониклись моей проблемой и потратили думаю, немало времени, сам люблю помогать людям, если есть конечно возможность и силы.
0
10916 / 5608 / 1425
Регистрация: 05.10.2016
Сообщений: 15,852
23.08.2017, 15:42 57
Цитата Сообщение от mobile Посмотреть сообщение
Рекурсия слишком затратна на больших списках. А на маленьких замечательно работает
Спасибо за напоминание.
Я предварительно тестил на своей плотно набитой папочке с кучей файлов - нормально отработало.
А на windows ... действительно процедура захлебнулась.
1
393 / 137 / 37
Регистрация: 16.03.2013
Сообщений: 1,497
23.08.2017, 15:42  [ТС] 58
Цитата Сообщение от mobile Посмотреть сообщение
Рекурсия слишком затратна на больших списках
Это тоже весомый аргумент, на данный момент в базе 38000 деталей, если размножить на 3 вида файлов, (думаю что может заставят еще парочку документов цеплять) итого 5*38000... 190000...явно то мало не покажется.
0
10916 / 5608 / 1425
Регистрация: 05.10.2016
Сообщений: 15,852
23.08.2017, 16:07 59
Цитата Сообщение от Braser Посмотреть сообщение
там достаточно просто пометки "-изменен"
+ Уж если изменил файл, то при повторном нажатии он его уже не видит
Учёл критику и пожелания

А насчёт массива я потом подумаю ...
Вложения
Тип файла: rar ПримерПоиск_v03_Eugene-LS.rar (40.3 Кб, 27 просмотров)
2
Модератор
Эксперт MS Access
12106 / 4966 / 791
Регистрация: 07.08.2010
Сообщений: 14,584
Записей в блоге: 4
23.08.2017, 16:35 60
Цитата Сообщение от Eugene-LS Посмотреть сообщение
А на windows ... действительно процедура захлебнулась.
там есть защищенные папки --они и не открываются, их надо игнорировать
1
23.08.2017, 16:35
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.08.2017, 16:35
Помогаю со студенческими работами здесь

Организовать поиск заданного файла в указанной директории и ее поддиректории
Доброго времени суток, нужна помощь с выполнением задания поиска указанного файла и в директории (...

Как сделать поиск файла в выбранной директории и открыть в мемо1
Хочу сделать поиск файла по названию, который введу в мемо или едит, в выбранной директории...

Как осуществить поиск файла во всех папках данной директории?
Добрый день! Как осуществить поиск файла во всех папках данной директории? Есть директория, в ней...

Мониторинг файлов в сетевой директории
Здравствуйте. Подскажите, что не так. Есть замечательный инструмент FileSystemWatcher Все отлично...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Блоги программистов
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­­­­­­­­­­­хро­н­н­ы­й счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru