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

Добавлено: Пн июл 23, 2018 19:32
Flasher
BeardFury78 писал(а):Убрал первый амперсанд у строки (который после Ф идет)
Это обязательно. Уточнил в статье текст.
BeardFury78 писал(а):Как оказалось, был конфликт, в батнике на последней строке было
BeardFury78 писал(а):Скрипт полностью
Так а в скрипте где правка имени шаблона?

Добавлено: Пн июл 23, 2018 19:38
BeardFury78
Уже заменил в скрипте шаблон, теперь уже стало запускать поиск по файл-списку, но это если в Тотале запускать, а если через explorer, то не запускает поиск, наверное причина в том, что в фоне запускается.

Добавлено: Пн июл 23, 2018 19:53
Flasher
BeardFury78 писал(а):теперь уже стало запускать поиск по файл-списку
А выводить (при активном окне поиска)?
BeardFury78 писал(а):а если через explorer, то не запускает поиск
Естественно, т.к. там %COMMANDER_EXE%. Для explorer и остального переменную нужно заменить на абсолютный путь.

Добавлено: Пн июл 23, 2018 20:36
BeardFury78
Flasher
В Тотале выводит.
Прописал в скрипт абсолютный путь к exe Тотала и запустил в Эксплорере без запущенного Тотала, открылся Тотал с запущенным поиском, но файлы не вывелись плюс почему-то высветилось Тоталовское окошко "Программа не найдена".
Скрипт вот

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

With CreateObject("WScript.Shell") 
  .Run "g:\pathssearch.bat", 0, 1 
  PID = .Exec("e:\Programs Files\Total Commander\TOTALCMD64.EXE /S=F:Lsearchpaths").ProcessID 
  Do: A = .AppActivate(PID) :Loop Until A : .SendKeys "~%-" 
End With

Добавлено: Пн июл 23, 2018 20:55
Flasher
BeardFury78 писал(а):с запущенным поиском, но файлы не вывелись
Под поиском понимается окно поиска или сам поиск? Не вывелись в окно или на панель?

Добавлено: Пн июл 23, 2018 21:00
BeardFury78
Flasher
Окно поиска, файлы в нем показаны, но на панель не выведены после этого.

Добавлено: Пн июл 23, 2018 21:17
Flasher
BeardFury78
А, с закрытым ТС. Тогда понятно:

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

TC = "e:\Programs Files\Total Commander\TOTALCMD64.EXE"
With CreateObject("WScript.Shell")
  For Each Command in Array(TC & " /O", TC & " /S=F:Lsearchpaths")
    PID = .Exec(Command).ProcessID
    Do : A = .AppActivate(PID) : Loop Until A
  Next : .SendKeys "~%-"
End With

Добавлено: Пн июл 23, 2018 21:25
BeardFury78
Flasher
прописал скрипт:

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

TC = "e:\Programs Files\Total Commander\TOTALCMD64.EXE" 
With CreateObject("WScript.Shell")
  .Run "g:\pathssearch.bat", 0, 1
  For Each Command in Array(TC & " /O", TC & " /S=F:Lsearchpaths") 
    PID = .Exec(Command).ProcessID 
    Do : A = .AppActivate(PID) : Loop Until A 
  Next : .SendKeys "~%-" 
End With
В Эксплорере запускаю с закрытым Тоталом, окно поиска запускается и файлы выводятся. Но когда в Тотале запускаю скрипт и жду, то ничего не происходит. Но заметил в диспетчере задач, что wscript постоянно чего-то делает, но делает что-то явно значительно дольше чем при запуске в Эксплорере без Тотала. Может вообще закольцовалось или что.

Добавлено: Пн июл 23, 2018 21:42
Flasher
BeardFury78
Я уже сообразил. Минутку. Сейчас... Вот:

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

Option Explicit: Dim TC, Arr, B, i, A, Exec, PID
TC = "e:\Programs Files\Total Commander\TOTALCMD64.EXE"
Arr = Array(TC & " /O", TC & " /S=F:Lsearchpaths")
With CreateObject("WScript.Shell")
  B = 0 : .Run "g:\pathssearch.bat", 0, 1 
  If .Environment("Process")("COMMANDER_EXE") <> "" Then B = 1
  For i = B To 1
    A = 0 : Set Exec = .Exec(Arr(i)) : PID = Exec.ProcessID
    Do: A = .AppActivate(PID) : Loop Until A Or Exec.Status
  Next : .SendKeys "~%-"
End With

Добавлено: Пн июл 23, 2018 21:50
BeardFury78
Flasher
Все работает отлично. И в Тотале, и в Эксплорере. Большое спасибо, вы очень мне помогли!

Добавлено: Пн июл 23, 2018 22:25
Flasher
BeardFury78
А вот и нет. Проблема была, когда ТС работал, но запуск был не из него. Теперь исправил. Пож-та. :)