Описание команды


openup

Открытие выделенных файлов в заданных программах по F4.

openup

Параметры:

Нет

Примечания:

Настроить программы и ассоциируемые с ними файлы можно в TCIMG.ini в секции [F4]
Ключи секции:
  Select
    1 - снимать выделение после открытия файлов.
    0 - не снимать выделение.
  Delimeters
    строка-разделитель между программой, параметрами и типами/именами файлов.
    (набор символов, который не должен использоваться в параметрах)
  Default
     ключ, в котором прописываются через разделитель 3 параметра Porgram Mode Pause, где:
      Porgram - программа (или командная строка запуска) по умолчанию для всех типов файлов, которые не ассоциированы.
      Mode - 1 (тестовый параметр).
      Pause - задержка в миллисекундах перед открытием следующего файла.

Далее прописываются ассоциированные строки, в которые через разделитель входят 4 параметра:
  Porgram  Mode[,Case]  Pause[,Wait][,Hide]  Type

  Porgram - программа (или командная строка запуска).
    - поддерживаются относительные пути.
    - программу и её параметры необходимо обрамлять в кавычки.
    - в необходимом месте строки запуска прописывается тег :FILE: , который будет заменён реальным файлом.
  Mode[,Case] - режим определяющий ассоциацию файла:
    0 - относительно полного пути.
    1 - относительно имени с расширением.
    2 - относительно имени без расширения.
    3 - относительно расширения.
      Case [необязательный] прописывается через запятую после Mode:
        0 - без учёта регистра (по умолчанию).
        1 - с учётом регистра.
  Pause[,Wait][,Hide] - режим запуска:
    N - задержка в миллисекундах перед открытием следующего файла.
      Wait [необязательный] прописывается через запятую после Pause:
        0 - не ожидать завершения запущенной программы/команды (по умолчанию)
        1 - ожидать завершения работы запущенной программы/команды
      Hide [необязательный] прописывается через запятую после Wait:
        0 - скрыть окно программы/команды
        1 - не скрывать (по умолчанию)
  Type - типы или имена файлов в виде регулярного выражения, разделённые | см. Дополнение №2.
        Так же могут использоваться имена каталогов (или их части) при Mode=0

Пример записи типа при Mode=0 или Mode=1:

.*\.txt ;; Откроет все файлы с расширением txt ( .* означает любое количество символов, \. - точка, txt - расширение)


Важен порядок записи: сначала прописываются ключи Select, Delimeters, Default, далее с 4-й строки программы с файлами

Пример записи секции:

[F4]
Select=1
Delimeters=//
Default="%COMMANDER_PATH%\AkelPad.exe" ":FILE:"//1//0
"%COMMANDER_PATH%\AkelPad.exe" ":FILE:"//1//0//.*\.txt|.*\.ini
"%COMMANDER_PATH%\Programs\Resources\ResHacker\ResHacker.exe" ":FILE:"//1//50//.*\.exe.*|.*\.w.x
"%TCIMG_PATH%\TCIMG.exe" "icovw=:FILE:"//1//0//.*\.dll.*
"%TCIMG_EXE%" "ledit=:FILE:"//1//0//.*\.lnk.*
"%COMMANDER_PATH%\Programs\Graphics\AxialisIconWorkshop\IconWorkshop.exe" ":FILE:"//1//500//.*\.ico
"%COMMANDER_PATH%\Programs\Graphics\AxialisCursorWorkshop\CursorWorkshop.exe" ":FILE:"//1//500//.*\.cur|.*\.cul|.*\.ani
"%COMMANDER_PATH%\Programs\Graphics\Paint.NET\PaintDotNet.exe" ":FILE:"//1//50//.*\.bmp|.*\.gif|.*\.jpg|.*\.jpeg|.*\.jpe|.*\.jp2.*\.png|.*\.tga|.*\.tif|.*\.tiff
"%PROGRAMFILES%\Microsoft Office\Office12\WINWORD.EXE" ":FILE:"//1//500//.*\.doc|.*\.rtf|.*\.dot|.*\.wri|.*\.tip|.*\.dotm|.*\.odt|.*\.docx|.*\.dotx
"%PROGRAMFILES%\Microsoft Office\Office12\EXCEL.EXE" ":FILE:"//1//500//.*\.xll|.*\.iqy|.*\.xlam|.*\.xlsx|.*\.xla|.*\.xls|.*\.xltx|.*\.xlt|.*\.cvs
"%COMMANDER_PATH%\Programs\Text\CHMEditor\CHMEditor.exe" ":FILE:"//1//500//.*\.chm.*



Для того, чтобы не открывать не ассоциированные типы фалов в программе по умолчанию, просто пропишите в ключе Default любой несуществующий путь:
Пример записи:

Default="%COMMANDER_PATH%\Akel___Pad.exe" ":FILE:"//1//0


Примеры при различном режиме Mode

Mode=0 В этом режиме можно включить или выключить открытие файлов относительно каталога, в котором они находятся:
Пример записи:

"%COMMANDER_PATH%\AkelPad.exe" ":FILE:"//0//50//.+\\Test\\.*\.txt

В этом режиме будут запущены те txt файлы, которые находятся в каталоге Test

Mode=0,1
Пример записи:

"%COMMANDER_PATH%\AkelPad.exe" ":FILE:"//0,1//50//.+\\Test\\.*\.txt

В этом режиме будут запущены те txt файлы, которые находятся в каталоге Test, но не в каталоге test
Пример записи:

"%COMMANDER_PATH%\AkelPad.exe" ":FILE:"//0//50//.+\\(?!Test).*\\.*\.txt

В этом режиме будут запущены те txt файлы, которые не находятся в каталоге Test

Mode=3
Пример записи:

"%COMMANDER_PATH%\AkelPad.exe" ":FILE:"//3//50//txt|ini

В этом режиме можно прописывать только расширения

Примеров может быть масса, далее действует фантазия и регулярные выражения...


Дополнительные теги, которые можно использовать в командной строке запуска:
:FILE: полный путь открываемого файла
:PATH: родительский путь открываемого файла без обратного слеша
:NAMEEXT: имя с расширением открываемого файла
:NAME: имя без расширения открываемого файла
:EXT: расширение открываемого файла
:TCPATHA: путь активной панели Total Commander
:TCPATHT: путь неактивной панели Total Commander
:TCFILEA: путь объекта под курсором активной панели Total Commander (если каталог, то возвращает путь с конечным слешем)
:TCFILET: путь объекта неактивной панели Total Commander (если каталог, то возвращает путь с конечным слешем)
:CPU: возвращает "X86" если ЦП является 32-разрядным, и "X64", если ЦП является 64-разрядным
:CLIPN: строка буфера обмена, где N - номер строки, т.е. тег первой строки :CLIP1: ; второй :CLIP2: ...
(!!! Учитывайте, что кавычки в буфере обмена, передаваемые в командную строку, могут "сломать" запуск команды)

Примеры при различном режиме Pause

Так же можно прописывать не просто открытие файла в программе, а серию необходимых команд для действия над файлом:
Pause=0,1 - ожидает завершение запуска команды, после завершения запускает следующий файл
Пример записи:

"%TCIMG_EXE%" "start=RAR||-IBCK||x||:FILE:||:PATH:\:NAME:\||&&wait||upd<1>"//3//0,1//zip.*|rar

Данная команда распакует архивы, каждый в именной каталог рядом с архивом.

В некоторых случаях существуют трудности запуска той или иной программы (или необходимы дополнительные вычисления параметров).
Можно перенаправить запуск подобных программ:
    - через команду start
    - через команду exect и функции запуска Run(), RunWait(), RunAs(), RunAsWait(), ShellExecute(), ShellExecuteWait()
Пример записи:

"%TCIMG_EXE%" "exect=$var_st='C:\TempHH\'||ShellExecuteWait('hh','-decompile~~'&'$var_st'&'~~'&':FILE:')" "movee=$var_st||:PATH:||:NAME:||upd<1>"//3//0,1//chm*.

Данная команда распакует файлы справок, каждый в именной каталог рядом с файлом справки.
Как подключить команду, чтобы она работала по F4?

Необходимо прописать в настройках "Правка/Просмотр" строку, указав в ней свой путь к утилите:

Пример записи:

"%COMMANDER_PATH%\TCIMG.exe" "openup"



Для отображения процесса открытия файлов можно прописать:
Пример записи:

"%COMMANDER_PATH%\TCIMG.exe" "imgpr=1" "openup"


Для сохранения своих настроек при обновлениях утилиты см. Основные вопросы

См. также:

allpr, autrn, multi, openmn, rstart, rundfr, sizen, sslnk, tc3264, tclnk, wcfull

Примеры:
 Как создать кнопку?

exect=$var_a=StringSplit(StringReplace('??%%COMMANDER_PATH%%\TCIMG.exe?~~?openup??|??%%COMMANDER_PATH%%\Utilities\TotalCom\ChoiceEditor\ChoiceEditor.exe??','?',Chr(34)),'|')||$var_sc=EnvGet('COMMANDER_INI')||$var_sp=IniRead('$var_sc','Configuration','Editor',Null)||$var_is=StringInStr('$var_sp','TCIMG')?2:1||IniWrite('$var_sc','Configuration','Editor',$var_a[$var_is]) rstart ;; переключение программы просмотра по F4 с перезагрузкой

imgpr=1 openup ;; открыть выделенные файлы в заданных программах с отображением процесса открытия

openup ;; открыть выделенные файлы в заданных программах

tcimg=$cm501 buttn=TFindFile||+tcTCFIND2||+tcTCFIND12||+tcTCFIND13|$iclpget||+tcTCFIND23|$a||+tcTCFIND70|$n|$d+tcTCFIND68|$n tcimg=$cm525 openup ;; поиск файлов, содержащих ТЕКСТ из буфера обмена (ожидать окончания поиска + ожидать появления списка всех найденных объектов + затем выделить) и открыть файлы в заданной программе


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru