Страница 4 из 6

Добавлено: Чт июн 04, 2015 12:18
alexfmos
Да скрипт работает. Но мне, как я говорил, не нужны все подкаталоги, а только нужные. И еще в отличие от щелка по tab они открываются не мгновенно, а как то медленно по очереди, видимо потому, что становятся активными по очереди.
под курсором или выделенные
Только под курсором.

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

И ещё вопрос: если ли в каких-то проектах папки окромя вложенных?

Добавлено: Чт июн 04, 2015 12:36
alexfmos
В конец запутали. :-) нужно открывать папки только от одного проекта.
В проектах есть много уровней подкаталогов, нужны только те что в корне.

Добавлено: Чт июн 04, 2015 13:43
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.: И, по большому счёту, можно было бы вообще никак не зависеть от того, что в активной панели, а просто создать бар-меню с выпадающим списком кнопок, каждая из которых запускает вкладки своего проекта. Мне достаточно лишь добавить ещё один параметр для имени папки-проекта.

Добавлено: Чт июн 04, 2015 19:15
alexfmos
Уезжал по делам.

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

MSG Укажите 2 параметра!
Я так понимаю данная строчка кода была специально для меня :) , что я забыл указать?

Добавлено: Чт июн 04, 2015 19:26
Flasher
Ох.. Опять возвращаемся к устаревшей версии ТС...
%P%N вместо %V. Если есть пробелы во втором параметре, то обрамить его кавычками.

Добавлено: Чт июн 04, 2015 19:40
alexfmos
Обещаю в ближайшие свободные деньки перейти на новую версию. Тут же куча всего настроенного, плаги и т.п. Там это надо будет все подстраивать.

Исправил %V на %P%N.
Теперь по нажатию ничего не происходит.

Добавлено: Чт июн 04, 2015 20:01
Flasher
Если устанавливать 32-битную версию и всё грамотно делать с предварительной распаковкой INSTALL.CAB, то ничего подстраивать не придётся.

Если не происходит, значит, либо какой-то путь неверно прописан (напр., в пути к Projects стоит бэкслеш на конце), либо курсор не там, где требуется.

Добавлено: Чт июн 04, 2015 20:09
alexfmos
Перепроверил. Пути верные (не вручную, копирую).
Курсор стоит на одной из папок проекта.

Добавлено: Чт июн 04, 2015 20:14
Flasher
К TCFS2 путь точно в тройных кавычках?
И <имя проекта в шаблоне tab> - это PROJECTNAME?

Добавлено: Чт июн 04, 2015 20:32
alexfmos
Все верно. Именно так.
Имя проекта в файле tab я заменил на filefolder, соответственно и параметр %P%N filefolder.
Может действительно перейти сейчас на 8.51 ?

Добавлено: Чт июн 04, 2015 20:37
Flasher
Если следом за WScript.Quit прописать : msgbox true, сообщение вылезет?

Начать можно с проверки в новой версии, установив ТС в отдельную папку.

Добавлено: Чт июн 04, 2015 20:48
alexfmos
Прописал, не вылезает.

Добавлено: Чт июн 04, 2015 20:58
Flasher
Если из комстроки ТС запустить em_APPENDTABS "<путь к рабочему tab-файлу>", вкладки добавятся?
TCFS2 тот, что по ссылке, т.е. последний?

Добавлено: Чт июн 04, 2015 21:04
alexfmos
Установил в отдельную папку 8.51
Заменил параметр скрипта с %P%N filefolder на %V filefolder
Ничего не происходит.

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

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

TCFS2_2.2.1.476