GoClipped

Название GoClipped
Имя файла (*.txt) GoClipped.txt
Описание Переходит к файлу/директории, чье имя помещено в буфер обмена
Автор Вахмурка
Параметры Путь, ФайлДир, НоваяВкладка, Приемник
Вызываемые плагины win, clip
Иконка
Версия 1.1
Дата обновления 12.07.2010
args Path, FileDir, NewTab, Target
local hwnd = win.handle("c=TTOTAL_CMD")
local Str = clip.get

if(not FileDir)
	Str = Path ++ Str

if(not validpath(Str)) do
	if(validpath(Str ++ ".*")) do
		Str ++= ".*"
	else
		messagebox ("ok", "Invalid path: " ++ Str, "GoClipped script")
		quit
	endif
endif

local Quote = esc(?+\"+, ?+\+)
local Exepath = win.exepath(hwnd)
local Pars = "/O /S /"

if(NewTab)
	Pars = "/T " ++ Pars

Pars = Pars ++ ifelse(Target, "R=", "L=")

do(Exepath, Pars ++ Quote ++ Str ++ Quote)

Комментарии:

Первый параметр может быть: "%P" (путь в панели-источнике), "%T" (путь в панели-приемнике), или вообще произвольный путь открытым текстом. Если этот путь содержит пробелы, его надо заключать в кавычки. Если имя файла не имеет расширения, переход производится к первому файлу с заданным именем.

Второй параметр - 0 или "", если в буфере обмена находится имя файла без пути. Тогда при исполнении скрипта курсор переместится к указанному файлу в текущей (если первый параметр "%P") или противоположной ("%T") директории. То есть, при "%T" путь-источник становится таким же, как путь-приемник. Если второй параметр равен 1 (или вообще что угодно, кроме 0 и ""), то путь из буфера открывается в текущей (а не противоположной) панели. Наконец, если второй параметр равен 1, то первый вообще не играет роли, однако обязательно должен быть задан, например, пустой строкой "".

Третий параметр, равный 0 или "", означает переход в текущей вкладке. Любое другое значение открывает новую вкладку.

Наконец, четвертый параметр, равный 0, "" или отсутствующий, использует для перехода панель-источник. Иначе путь, содержащийся в буфере, отображает панель-приемник.

Курсор в любом случае остается в текущей панели.

Допустим, панель-источник отображает путь c:\one\two, а панель-приемник - d:\three\four.

Содержимое буфера Параметры скрипта Результат
abc.txt "%T", 0, 0, 0 Курсор перемещается к d:\three\four\abc.txt*
abc.txt "%P", 0, 0, 0 Курсор перемещается к c:\one\two\abc.txt*
c:\one\two "%P", 0, 0, 0 Сообщение об ошибке - не задано имя файла
c:\one\two\abc.txt **, 1, 0, 0 Курсор перемещается к c:\one\two\abc.txt*
c:\one\two **, 1, 0, 0 Курсор перемещается к c:\one\two\
abc.txt "%P", 0, 1, 0 Курсор перемещается к c:\one\two\abc.txt* в новой вкладке
c:\one\two\abc.txt **, 1, 1, 0 Курсор перемещается к c:\one\two\abc.txt* в новой вкладке
c:\one\two **, 1, 0, 1 Путь c:\one\two\ открывается в панели-приемнике. Курсор не двигается..
abc.txt c:\one\two\, 0, 0, 0 Курсор перемещается к c:\one\two\abc.txt*
* Только если такой файл существует, иначе сообщение об ошибке.
** Может быть любым.

Наиболее разумные сочетания параметров: ("%P", 0, 0, 0) - переход в текущей директории к файлу, имя которого содержится в буфере; и ("", 1, 0, 0) - переход к директории (или к файлу в директории), имя которой(-ого) содержится в буфере.


На главную Все о Total Commander PowerPro PowerPro & Total Commander