View previous topic :: View next topic |
Author |
Message |
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Feb 12, 2012 23:10 Post subject: |
|
|
Avada wrote: | Я, в свою очередь, полагаю, что для всех потенциальных пользователей скрипта, за исключением счастливых обладателей ОС x64, вариант с %Commander_Path% пока что выглядит несколько более предпочтительным, поскольку не заставляет задумываться, для какой версии TC годится, а для какой нет. | Совершенно не понял, при чём тут битность TC. В моём случае скрипт всегда пишется для актуальной версии (включая беты).
В описание условие добавлялось в других скриптах, но, ИМХО, для этого случая с поднятием древностей дописку можно опустить в расчёте на компетентного "зрителя".
Last edited by Flasher on Mon Feb 13, 2012 03:05; edited 1 time in total |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Sun Feb 12, 2012 23:17 Post subject: |
|
|
Flasher
Моё дело — предупредить. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Feb 13, 2012 11:07 Post subject: |
|
|
C TCMC (указать свой путь) побыстрей будет:
Code: | '=====================================================================
' Открытие выделенных папок/архивов в отдельных вкладках другой панели
' Параметр: %L
'=====================================================================
If WScript.Arguments.Count = 0 Then WScript.Quit
For Each Fold In Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0)).ReadAll, vbNewLine)
If Fold > vbNullString Then
CreateObject("WScript.Shell").Run """%COMMANDER_PATH%\Utils\TCMC\TCMC.exe"" cdst """" """ & Fold & """", 7, True
WScript.Sleep 40
End If
Next |
|
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Mon Feb 13, 2012 11:16 Post subject: |
|
|
Flasher
Тоже успешно работает, хотя заметной разницы по скорости с предыдущей версией я, честно говоря, не уловил. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Feb 13, 2012 11:21 Post subject: |
|
|
Avada
Странно, у меня невооружённым глазом заметно. TCMC просто команды окну отправляет, а там по нескольку раз на короткое время вызывается процесс TC. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Mon Feb 13, 2012 12:13 Post subject: |
|
|
Flasher
Ну, не знаю... Вот сейчас ещё раз специально сравнил. Визуально — практически то же самое. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Wed Feb 15, 2012 20:08 Post subject: |
|
|
кнопка
Code: | TOTALCMD#BAR#DATA
%ComSpec% /c for /f "delims=" %# in
('type "%WL"') do "%%commander_path%%\totalcmd.exe" /o /s /t /r="%%#"
wcmicons.dll,83
Выделенные папки/архивы открыть в отдельных вкладках другой панели
1
-1
|
|
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1169 Location: Макеевка
|
(Separately) Posted: Wed Oct 24, 2018 19:28 Post subject: |
|
|
А каким образом можно модифицировать этот вариант для случаев если каталог/архив имеет юникодное имя (иероглифы в имени, к примеру)? _________________ Windows 11 | TC DreamLair eternal pre-α |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Oct 24, 2018 19:39 Post subject: |
|
|
LonerD
Допустим:
Code: | TOTALCMD#BAR#DATA
%ComSpec% /c "for %# in
(%S) do "%%COMMANDER_EXE%%" /O /S /T /R="%P%%~#""
wcmicons.dll,83
Выбранные папки/архивы открыть в отдельных вкладках другой панели
1 | Или так:
Code: | TOTALCMD#BAR#DATA
%ComSpec% /c "for %# in
(%S) do "%%COMMANDER_PATH%%\Utils\TCFS2\TCFS2.exe" /ef "tcd(,`%P%%~#`,ST)""
wcmicons.dll,83
Выбранные папки/архивы открыть в отдельных вкладках другой панели
1 |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Wed Oct 24, 2018 22:57; edited 1 time in total |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1169 Location: Макеевка
|
(Separately) Posted: Wed Oct 24, 2018 22:39 Post subject: |
|
|
Flasher wrote: | LonerD
Допустим: |
Спасибо. Что-то совсем случайным образом работает - то в противоположной панели открывает, то в текущей, то вообще откроет только часть выделенных каталогов... (да и вариант от Tol!k тоже). Придётся команду вешать на скрипт. _________________ Windows 11 | TC DreamLair eternal pre-α |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Oct 24, 2018 22:43 Post subject: |
|
|
LonerD
По части — закавычил цикл. И с TCFS2 пример добавил. Проверь.
Открытие в разных панелях похоже на конфликт с резидентными скриптами. В стандартных условиях такого быть не должно, если ты, конечно, фокус в другую панель в процессе открытия сам не переставляешь. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1169 Location: Макеевка
|
(Separately) Posted: Thu Oct 25, 2018 01:45 Post subject: |
|
|
Flasher wrote: | По части — закавычил цикл. И с TCFS2 пример добавил. Проверь.
Открытие в разных панелях похоже на конфликт с резидентными скриптами. |
То же самое поведение на рабочем тотале. То не все каталоги открываются, то открываются в той же панели. Только у меня нет резидентных скриптов Пока не представляю, из-за чего такое поведение. Видимо, какая-то настройка "тормозит" процесс открытия вкладок одна сразу за другой, они просто не успевают открыться все и с заданными параметрами...
Попробовал на чистом Тотале - чётко отрабатывают оба варианта.
==========
Заодно родился такой скрипт на AutoHotkey.
Code: | ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
; Total Commander DreamLair ;
; Script: Open selected dirs/files in new tabs ;
; Скрипт: Відкрити виділені файли/каталоги в нових вкладках
; Скрипт: Открыть выделенные файлы/каталоги в новых вкладках
; Script version: 1.0 (2018.10.25) ;
; Script author: LonerD ;
; Site: https://dreamlair.net ;
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
; Parameter: ;
; 1) %WL (required) ;
; 2) T - open in target panel ;
; 3) D - open only directories ;
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
#NoEnv
#NoTrayIcon
#SingleInstance force
if not ( WinExist("ahk_class TTOTAL_CMD") || WinActive("ahk_class TTOTAL_CMD") )
ExitApp
EnvGet, commander_exe, commander_exe
if 0 < 1
ExitApp
Filelist = %1%
Panel = %2%
OnlyDirs = %3%
TagPanel := Panel = "T" ? "/R=" : "/L="
Loop, Read, % Filelist
{
if !InStr(FileExist(A_LoopReadLine), "D") & ( OnlyDirs = "D" )
Continue
RunWait, % commander_exe " /O /S /T " TagPanel """" A_LoopReadLine """"
Sleep, 200
}
ExitApp |
==========
Второй вариант с открытием через отправку TC команды CD.
==========
PS. Строка "Sleep, 200" нужна для стабильной работы с установленным плагином TWinKey (добавляется небольшая пауза между открытиями вкладок). Если плагин не используется, то скорее всего для быстроты работы эту строку можно удалить. _________________ Windows 11 | TC DreamLair eternal pre-α
Last edited by LonerD on Thu Oct 25, 2018 03:04; edited 2 times in total |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Oct 25, 2018 02:06 Post subject: |
|
|
LonerD wrote: | То же самое поведение на рабочем тотале. | На виртуальном? Там вообще не будет работать.
LonerD wrote: | они просто не успевают открыться все и с заданными параметрами... | Ну, ОК. А если ' start /b/high/wait ""' после do вставить?
LonerD wrote: | скрипт на AutoHotkey. | А чего не с cd-то? С ней же куда быстрее. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1169 Location: Макеевка
|
(Separately) Posted: Thu Oct 25, 2018 02:09 Post subject: |
|
|
Во, разобрался. Причина самая ожидаемая - TwinKey. Причём даже снять все галочки (отключить все функции) в настройках плагина - не вариант. Вышеуказанная проблема проявляется стабильно (10 каталогов выделяю - открывается штук 7-8 ). Только если удалить TwinKey (или отключить его через PluginsManager) - всё приходит в норму.
Flasher wrote: | LonerD wrote: | То же самое поведение на рабочем тотале. | На виртуальном? |
На моём настроенном с плагинами и всем прочим.
Flasher wrote: | А если ' start /b/high/wait ""' после do вставить? |
Против лома нет приёма. Нет положительного эффекта))
Flasher wrote: | А чего не с cd-то? С ней же куда быстрее. |
Вот такой получился....
Но каталоги с именами в юникоде у меня не открываются. Вижу, что в куске кода, отвечающем за работу CD, есть какая-то поддержка юникода (но смысл кода я не понимаю, не знаю почему не срабатывает). _________________ Windows 11 | TC DreamLair eternal pre-α |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Thu Oct 25, 2018 04:54 Post subject: |
|
|
LonerD
Тут не смотрели, как реализована работа с юникодом? Никаких проблем с cd и em-командами вроде не было (__ANSItoUTF8toANSI(), __CheckANSItoUTF8()). |
|
Back to top |
|
|
|