Страница 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
А вот и нет. Проблема была, когда ТС работал, но запуск был не из него. Теперь исправил. Пож-та.
