Как заменить в файле TAB пути ...

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Аватара пользователя
alexfmos
Сообщения: 78
Зарегистрирован: Ср июн 29, 2005 20:23

Сообщение alexfmos »

Да скрипт работает. Но мне, как я говорил, не нужны все подкаталоги, а только нужные. И еще в отличие от щелка по tab они открываются не мгновенно, а как то медленно по очереди, видимо потому, что становятся активными по очереди.
под курсором или выделенные
Только под курсором.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

alexfmos писал(а):Только под курсором.
Да это общий случай. Я спрашиваю об открытии одного/нескольких выбранных проектов или только одного невыбранного и уже открытого.

И ещё вопрос: если ли в каких-то проектах папки окромя вложенных?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
alexfmos
Сообщения: 78
Зарегистрирован: Ср июн 29, 2005 20:23

Сообщение alexfmos »

В конец запутали. :-) нужно открывать папки только от одного проекта.
В проектах есть много уровней подкаталогов, нужны только те что в корне.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

ОК. Сперва нужно создать пользовательскую команду em_APPENDTABS, где APPENDTABS будет в поле "Команда:", а %A в "Параметры:".
Скрипт следующий:

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

'=========================================================
' Добавить вкладки для папки-проекта под курсором
' Параметры: %V <строка поиска>
'================= Путь к утилите TCFS2 ==================
TCFS2 = """%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"""
'================== Путь к шаблону tab ===================
PFile = "%COMMANDER_PATH%\Tabs\Projects.tab"
'=============== Путь к каталогу Projects ================
Projects = "F:\My doc\Projects"
'=========================================================
Dim WSH : Set WSH = CreateObject("WScript.Shell")
Set A = WScript.Arguments : CD = A(0)
If A.Count <> 2 Then MsgBox "Укажите 2 параметра!", 48
PFile = WSH.ExpandEnvironmentStrings(PFile)
With CreateObject("Scripting.FileSystemObject")
  If Not .FolderExists(CD) Or StrComp(.GetParentFolderName(CD), Projects, 1) <> 0 Then WScript.Quit
  TF = CreateObject("Shell.Application").NameSpace(WSH.ExpandEnvironmentStrings("%TEMP%")).Self.Path & "\" & .GetTempName
  .CreateTextFile(TF).Write Replace(.OpenTextFile(PFile).ReadAll, "\" & A(1) & "\", "\" & .GetFileName(CD) & "\")
  WSH.Run TCFS2 & " /ef ""tem(`em_APPENDTABS " & TF & "`) msg($433,3009,,1) send(`{UP}{ENTER}`,0)""",,True : .DeleteFile TF, 1
End With
TCFS2 см. тут. Все пути указать верные.

P.S.: И, по большому счёту, можно было бы вообще никак не зависеть от того, что в активной панели, а просто создать бар-меню с выпадающим списком кнопок, каждая из которых запускает вкладки своего проекта. Мне достаточно лишь добавить ещё один параметр для имени папки-проекта.
Последний раз редактировалось Flasher Сб июн 06, 2015 07:23, всего редактировалось 4 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
alexfmos
Сообщения: 78
Зарегистрирован: Ср июн 29, 2005 20:23

Сообщение alexfmos »

Уезжал по делам.

Создал комманду
em_APPENDTABS в usercmd
Команда APPENDTABS
Параметр %A
Создал скрипт , проверив пути.
Создал кнопку, со скриптом, параметр %V <имя проекта в шаблоне tab>

MSG Укажите 2 параметра!
Я так понимаю данная строчка кода была специально для меня :) , что я забыл указать?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Ох.. Опять возвращаемся к устаревшей версии ТС...
%P%N вместо %V. Если есть пробелы во втором параметре, то обрамить его кавычками.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
alexfmos
Сообщения: 78
Зарегистрирован: Ср июн 29, 2005 20:23

Сообщение alexfmos »

Обещаю в ближайшие свободные деньки перейти на новую версию. Тут же куча всего настроенного, плаги и т.п. Там это надо будет все подстраивать.

Исправил %V на %P%N.
Теперь по нажатию ничего не происходит.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Если устанавливать 32-битную версию и всё грамотно делать с предварительной распаковкой INSTALL.CAB, то ничего подстраивать не придётся.

Если не происходит, значит, либо какой-то путь неверно прописан (напр., в пути к Projects стоит бэкслеш на конце), либо курсор не там, где требуется.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
alexfmos
Сообщения: 78
Зарегистрирован: Ср июн 29, 2005 20:23

Сообщение alexfmos »

Перепроверил. Пути верные (не вручную, копирую).
Курсор стоит на одной из папок проекта.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

К TCFS2 путь точно в тройных кавычках?
И <имя проекта в шаблоне tab> - это PROJECTNAME?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
alexfmos
Сообщения: 78
Зарегистрирован: Ср июн 29, 2005 20:23

Сообщение alexfmos »

Все верно. Именно так.
Имя проекта в файле tab я заменил на filefolder, соответственно и параметр %P%N filefolder.
Может действительно перейти сейчас на 8.51 ?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Если следом за WScript.Quit прописать : msgbox true, сообщение вылезет?

Начать можно с проверки в новой версии, установив ТС в отдельную папку.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
alexfmos
Сообщения: 78
Зарегистрирован: Ср июн 29, 2005 20:23

Сообщение alexfmos »

Прописал, не вылезает.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Если из комстроки ТС запустить em_APPENDTABS "<путь к рабочему tab-файлу>", вкладки добавятся?
TCFS2 тот, что по ссылке, т.е. последний?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
alexfmos
Сообщения: 78
Зарегистрирован: Ср июн 29, 2005 20:23

Сообщение alexfmos »

Установил в отдельную папку 8.51
Заменил параметр скрипта с %P%N filefolder на %V filefolder
Ничего не происходит.

Да вкладки добавляются

Добавлено спустя 3 минуты:

TCFS2_2.2.1.476
Ответить