Открытие выделенных файлов во вкладках
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3  Next  :| |:
Total Commander -> Автоматизация Total Commander

#16:  Author: FlasherLocation: Москва PostPosted: Sun Feb 12, 2012 23:10
    —
Avada wrote:
Я, в свою очередь, полагаю, что для всех потенциальных пользователей скрипта, за исключением счастливых обладателей ОС x64, вариант с %Commander_Path% пока что выглядит несколько более предпочтительным, поскольку не заставляет задумываться, для какой версии TC годится, а для какой нет.
Совершенно не понял, при чём тут битность TC. В моём случае скрипт всегда пишется для актуальной версии (включая беты).

В описание условие добавлялось в других скриптах, но, ИМХО, для этого случая с поднятием древностей дописку можно опустить в расчёте на компетентного "зрителя".


Last edited by Flasher on Mon Feb 13, 2012 03:05; edited 1 time in total

#17:  Author: AvadaLocation: Россия, Саратов PostPosted: Sun Feb 12, 2012 23:17
    —
Flasher
Моё дело — предупредить.

#18:  Author: FlasherLocation: Москва PostPosted: Mon Feb 13, 2012 11:07
    —
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

#19:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Feb 13, 2012 11:16
    —
Flasher
Тоже успешно работает, хотя заметной разницы по скорости с предыдущей версией я, честно говоря, не уловил.

#20:  Author: FlasherLocation: Москва PostPosted: Mon Feb 13, 2012 11:21
    —
Avada
Странно, у меня невооружённым глазом заметно. TCMC просто команды окну отправляет, а там по нескольку раз на короткое время вызывается процесс TC.

#21:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Feb 13, 2012 12:13
    —
Flasher
Ну, не знаю... Вот сейчас ещё раз специально сравнил. Визуально — практически то же самое.

#22:  Author: Tol!kLocation: Арзамас PostPosted: Wed Feb 15, 2012 20:08
    —
кнопка
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


#23:  Author: LonerDLocation: Донецк PostPosted: Wed Oct 24, 2018 19:28
    —
Tol!k wrote:
кнопка

А каким образом можно модифицировать этот вариант для случаев если каталог/архив имеет юникодное имя (иероглифы в имени, к примеру)?

#24:  Author: FlasherLocation: Москва PostPosted: Wed Oct 24, 2018 19:39
    —
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


Last edited by Flasher on Wed Oct 24, 2018 22:57; edited 1 time in total

#25:  Author: LonerDLocation: Донецк PostPosted: Wed Oct 24, 2018 22:39
    —
Flasher wrote:
LonerD
Допустим:

Спасибо. Что-то совсем случайным образом работает - то в противоположной панели открывает, то в текущей, то вообще откроет только часть выделенных каталогов... (да и вариант от Tol!k тоже). Придётся команду вешать на скрипт.

#26:  Author: FlasherLocation: Москва PostPosted: Wed Oct 24, 2018 22:43
    —
LonerD
По части — закавычил цикл. И с TCFS2 пример добавил. Проверь.
Открытие в разных панелях похоже на конфликт с резидентными скриптами. В стандартных условиях такого быть не должно, если ты, конечно, фокус в другую панель в процессе открытия сам не переставляешь.

#27:  Author: LonerDLocation: Донецк PostPosted: Thu Oct 25, 2018 01:45
    —
Flasher wrote:
По части — закавычил цикл. И с TCFS2 пример добавил. Проверь.
Открытие в разных панелях похоже на конфликт с резидентными скриптами.

То же самое поведение на рабочем тотале. То не все каталоги открываются, то открываются в той же панели. Только у меня нет резидентных скриптов Rolling Eyes Пока не представляю, из-за чего такое поведение. Видимо, какая-то настройка "тормозит" процесс открытия вкладок одна сразу за другой, они просто не успевают открыться все и с заданными параметрами...
Попробовал на чистом Тотале - чётко отрабатывают оба варианта.

==========

Заодно родился такой скрипт на 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 (добавляется небольшая пауза между открытиями вкладок). Если плагин не используется, то скорее всего для быстроты работы эту строку можно удалить.


Last edited by LonerD on Thu Oct 25, 2018 03:04; edited 2 times in total

#28:  Author: FlasherLocation: Москва PostPosted: Thu Oct 25, 2018 02:06
    —
LonerD wrote:
То же самое поведение на рабочем тотале.
На виртуальном? Там вообще не будет работать.
LonerD wrote:
они просто не успевают открыться все и с заданными параметрами...
Ну, ОК. А если ' start /b/high/wait ""' после do вставить?
LonerD wrote:
скрипт на AutoHotkey.
А чего не с cd-то? С ней же куда быстрее.

#29:  Author: LonerDLocation: Донецк PostPosted: Thu Oct 25, 2018 02:09
    —
Во, разобрался. Причина самая ожидаемая - TwinKey. Idea Причём даже снять все галочки (отключить все функции) в настройках плагина - не вариант. Вышеуказанная проблема проявляется стабильно (10 каталогов выделяю - открывается штук 7-8 ). Только если удалить TwinKey (или отключить его через PluginsManager) - всё приходит в норму.

Flasher wrote:
LonerD wrote:
То же самое поведение на рабочем тотале.
На виртуальном?

На моём настроенном с плагинами и всем прочим.

Flasher wrote:
А если ' start /b/high/wait ""' после do вставить?

Против лома нет приёма. Нет положительного эффекта))

Flasher wrote:
А чего не с cd-то? С ней же куда быстрее.

Вот такой получился....
Но каталоги с именами в юникоде у меня не открываются. Вижу, что в куске кода, отвечающем за работу CD, есть какая-то поддержка юникода (но смысл кода я не понимаю, не знаю почему не срабатывает).

#30:  Author: Skif_off PostPosted: Thu Oct 25, 2018 04:54
    —
LonerD
Тут не смотрели, как реализована работа с юникодом? Никаких проблем с cd и em-командами вроде не было (__ANSItoUTF8toANSI(), __CheckANSItoUTF8()).



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3  Next  :| |:
Page 2 of 3

Powered by phpBB © 2001, 2005 phpBB Group