Страница 1 из 1

Поиск папок со знаками подчеркивания вместо точек

Добавлено: Ср окт 14, 2015 11:21
GrafKun
На сетевом ресурсе находятся папки с названием вида АБВГ_123456_789
Но в строке поиска хочется вводить АБВГ.123456.789
Иначе приходися каждый раз менять "." на "_"

Возможно ли это осуществить? Если да - то как?

Добавлено: Ср окт 14, 2015 12:16
Avada
GrafKun писал(а):Но в строке поиска хочется вводить АБВГ.123456.789
Иначе приходися каждый раз менять "." на "_"
Проблема пока не очень понятна. Зачем приходится менять? Что за сетевой ресурс?

Добавлено: Ср окт 14, 2015 12:26
GrafKun
Avada
В локальной сети предприятия находится сетевой ресурс с выложенными документами конструкторской документации (КД).
Во всех документах название КД вида АБВГ.123456.789
Но на сетевом ресурсе папки называются АБВГ_123456_789
Поэтому при поиске, после копирования названия вида АБВГ.123456.789 приходится вносить изменения в строку поиска и менять "." на "_"

Добавлено: Ср окт 14, 2015 13:27
Avada
GrafKun
Во-первых, не надо полностью цитировать моё предыдущее сообщение. Излишества удалены.
Во-вторых, автоматического преобразования при поиске точек в знаки подчёркивания, разумеется, не существует. Возможные варианты обходного решения, возможно, кто-то подскажет.
Кроме того, заголовок "Поиск файлов по маске" не соответствует поставленной задаче, где нет никаких масок, а на основе одного точного имени надо найти другое точное имя с изменением строго определённых символов. Заголовок изменён.

Добавлено: Ср окт 14, 2015 14:28
Flasher
GrafKun
Если кроме знака подчёркивания при таком наборе символов там быть ничего не может, то самое банальное - это включать опцию "Рег. выраж.", ибо в них точка - это любой символ. А чтобы не отмечать опцию постоянно, достаточно создать шаблон и вызывать диалог с ним по LOADSEARCH с кнопки или по хоткею, как угодно.

Другой вариант - ввод в промежуточном окне.

Код: Выделить всё

'======================= VBS =======================
' Поиск с автозаменой в вводимых символах
' Условие: путь запуска - пустой
' Параметры: <строка поиска> <строка замены>
' Пример: . _
'=============== Путь к утилите TCFS2 ==============
TCFS2 = """%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"""
'===================================================
Set Arg = WScript.Arguments
Header = " Поиск с заменой в маске " & Arg(0) & " на " & Arg(1)
Path = InputBox(String(5, vbnewline) & "Введите текст для поиска:", Header, "АБВГ.123456.789")
If Trim(Path) <> "" Then
  With CreateObject("WSCript.Shell")
    Set Exec = .Exec("%COMMANDER_EXE% /O /S=F """ & .CurrentDirectory & """")
    PID = Exec.ProcessID : Do : A = .AppActivate(PID) : Loop Until A
    .Run TCFS2 & " /ef ""send(@`" & Replace(Path, Arg(0), Arg(1)) & "`,0)"""
  End With
End if

Добавлено: Ср окт 14, 2015 15:55
sa
Flasher писал(а):самое банальное - это включать опцию "Рег. выраж."
Мне кажется, это не банально, а изящно!

Добавлено: Ср окт 14, 2015 16:04
Flasher
sa писал(а):это не банально, а изящно!
Не банально, а "самое банальное" действие из возможных. А в части "изящно" - только при прочих равных, как изначально поясняется.