Макрос распаковывает файл в %TEMP% и открывает его

Здесь обсуждается всё, что касается макросов.
Zmey78
Posts: 26
Joined: Sun 22 Feb, 2015 16:37
Has thanked: 2 times

Макрос распаковывает файл в %TEMP% и открывает его

Postby Zmey78 » Wed 14 Dec, 2016 17:10

Макрос распаковывает файл по Shift+ENTER в %TEMP% и открывает его средствами Windows. Работает на всех панелях плагинов.

Пришлось написать, потому что в FAR не работает стандартный встроенный в Windows просмотр изображений по ENTER из архивов (например, ZIP). Пишет "Средству просмотра фотографий Windows не удалось открыть это изображение". Удалось выяснить, что в папке %TEMP% создается копия файла с изображением, но сразу же удаляется, поэтому просмотр ее не подхватывает.

  1. local F = far.Flags
  2.  
  3. Macro {
  4.   description="Open from the temporary directory";
  5.   area="Shell"; key="ShiftEnter";
  6.   condition=function()
  7.     local info,item = panel.GetPanelInfo(nil,1),panel.GetCurrentPanelItem(nil,1)
  8.     return info.PanelType==F.PTYPE_FILEPANEL and bit64.band(info.Flags,F.PFLAGS_PLUGIN)==F.PFLAGS_PLUGIN and not item.FileAttributes:find("d")
  9.   end;
  10.   action=function()
  11.     Keys('F5 Del % T E M P % AltT Enter')
  12.     win.ShellExecute(nil,nil,win.GetEnv("TEMP").."\\"..panel.GetCurrentPanelItem(nil,1).FileName)
  13.   end;
  14. }


Файл положить сюда: "C:\Users\<ИМЯ ПОЛЬЗОВАТЕЛЯ>\AppData\Roaming\Far Manager\Profile\Macros\scripts\"

Panel.OpenFromTEMP.lua
(550 Bytes) Downloaded 27 times
Last edited by Zmey78 on Wed 14 Dec, 2016 17:13, edited 1 time in total.

User avatar
HaRT
Moderator
Posts: 7918
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 65 times
Been thanked: 94 times

Макрос распаковывает файл в %TEMP% и открывает его

Postby HaRT » Wed 14 Dec, 2016 18:27

Тему я перенёс. Прежде чем её там создавать, следовало прочитать правила того раздела в закреплённой теме. :evil:
Фар есть инструмент, а не нянька. © 2009 DrKnS

Smitis
Posts: 1432
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 9 times
Been thanked: 21 times
Contact:

Макрос распаковывает файл в %TEMP% и открывает его

Postby Smitis » Wed 14 Dec, 2016 19:33

Zmey78
Можно проверять, что панель принадлежит плагину ArcLite. Посмотрите, как у меня сделано здесь Smitis @ MultiArc: Archive support plugin — Модуль работы с архивами
Разум когда-нибудь победит.

User avatar
HaRT
Moderator
Posts: 7918
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 65 times
Been thanked: 94 times

Макрос распаковывает файл в %TEMP% и открывает его

Postby HaRT » Wed 14 Dec, 2016 20:51

Smitis wrote:Source of the post Посмотрите, как у меня сделано здесь
При чём тут оно?:
Smitis wrote:Source of the post для быстрого переключения ArcLite <> MultiArc находясь внутри архива, можно воспользоваться макросом
Задача-то решается совсем другая.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Smitis
Posts: 1432
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 9 times
Been thanked: 21 times
Contact:

Макрос распаковывает файл в %TEMP% и открывает его

Postby Smitis » Thu 15 Dec, 2016 08:37

HaRT wrote:Задача-то решается совсем другая.

:?:
Ясень пень, задача другая. Но у нас открыта панель плагина. Мало ли какой это плагин? Может с этой панели вообще не поддерживается копирование. Поэтому и предлагаю сделать проверку, что это плагин ArcLite. Можно и остальные, MultiArc, Observer, может ещё какие, не архивные. И на всякий случай можно сделать проверку, что нужный диалог открылся. И что после копирования ошибка не произошла (файл такой во временной папке уже есть и он залочен).

П.С.
Можно историю отключить, чтобы не засорялась Far.DisableHistory(-1)
Разум когда-нибудь победит.


Return to “Обсуждение макросов”

Who is online

Users browsing this forum: No registered users and 2 guests