Ассоциации для файлов при запуске из командной строки

Хотите говорить о Far и не знаете, куда обратиться?
Smitis
Posts: 1492
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 14 times
Been thanked: 24 times
Contact:

Ассоциации для файлов при запуске из командной строки

Post by Smitis » Mon 27 Jun, 2016 10:21

Latest post of the previous page:

Добавил себе для проверки такую ассоциацию. Специального приложения для xml у меня нет, поэтому по Enter xml открывается в IE, при любом значении Use Windows registered types. При этом стоит плагин XML Browser (видимо, это тот, который показывает xml в виде дерева, других плагинов для xml, вроде, нет), но он при такой ассоциации по Enter не ничего открывает, только по CtrlDown.
Разум когда-нибудь победит.

gene.pavlovsky
Posts: 163
Joined: Tue 11 Aug, 2015 16:53
Has thanked: 11 times

Ассоциации для файлов при запуске из командной строки

Post by gene.pavlovsky » Mon 27 Jun, 2016 11:47

Попробую сейчас с разными nightly билдами, и доложу.
Кстати, искал на странице downloads архив билдов, не нашёл. Потом через поисковик обнаружил данную страницу "http://www.farmanager.com/nightly.php". Вопрос - как до неё дойти "своим умом" с главной страницы сайта фара?

2useven10
Posts: 3045
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 2 times
Been thanked: 84 times

Ассоциации для файлов при запуске из командной строки

Post by 2useven10 » Mon 27 Jun, 2016 11:57

gene.pavlovsky wrote: Вопрос - как до неё дойти "своим умом" с главной страницы сайта фара?
С главной - не знаю.
Но в шапке Глюков и в Поведении при обнаружении проблем ссылки есть.

gene.pavlovsky
Posts: 163
Joined: Tue 11 Aug, 2015 16:53
Has thanked: 11 times

Ассоциации для файлов при запуске из командной строки

Post by gene.pavlovsky » Mon 27 Jun, 2016 12:03

2useven10 wrote:Но в шапке Глюков и в Поведении при обнаружении проблем ссылки есть.
Имхо стоит на странице http://www.farmanager.com/download.php
рядом с full changelog добавить ссылку на archive: http://www.farmanager.com/nightly.php

gene.pavlovsky
Posts: 163
Joined: Tue 11 Aug, 2015 16:53
Has thanked: 11 times

Ассоциации для файлов при запуске из командной строки

Post by gene.pavlovsky » Mon 27 Jun, 2016 12:03

В списке билдов nightly есть 4720, 4725, 4727. Описанная проблема воспоизводится на 4725 и 4727.
Для *.xml стоит ассоциация фара @"!.!" по нажатию на Enter, до 4720 включительно это приводит к запусканию файла через windows registered file type (Notepad у меня).
COMSPEC не влияет. Если стоит cmd, то по нажатию Enter на xml-файл в комстроке появляется "Access is denied." - как раз её выдаёт cmd, если попытаться сделать cmd /s /c "test.xml".

Smitis
Posts: 1492
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 14 times
Been thanked: 24 times
Contact:

Ассоциации для файлов при запуске из командной строки

Post by Smitis » Mon 27 Jun, 2016 13:12

gene.pavlovsky wrote:если попытаться сделать cmd /s /c "test.xml".
У меня эта команда открывает xml в IE даже из-под чистого cmd, не то чтоб только в ФАРе.
Разум когда-нибудь победит.

gene.pavlovsky
Posts: 163
Joined: Tue 11 Aug, 2015 16:53
Has thanked: 11 times

Ассоциации для файлов при запуске из командной строки

Post by gene.pavlovsky » Mon 27 Jun, 2016 14:08

Smitis wrote:У меня эта команда открывает xml в IE даже из-под чистого cmd, не то чтоб только в ФАРе.
Это пожалуйста, у всех ассоциации свои могут быть. Я себе поставил "Open with" Notepad. Суть вопроса не в этом.

Smitis
Posts: 1492
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 14 times
Been thanked: 24 times
Contact:

Ассоциации для файлов при запуске из командной строки

Post by Smitis » Mon 27 Jun, 2016 15:53

Суть вопроса, почему у меня открывает, а Вас та же версия ФАРа и та же ассоциация нет.
Разум когда-нибудь победит.

gene.pavlovsky
Posts: 163
Joined: Tue 11 Aug, 2015 16:53
Has thanked: 11 times

Ассоциации для файлов при запуске из командной строки

Post by gene.pavlovsky » Mon 27 Jun, 2016 19:39

Это действительно интересно, надо бы поковыряться, но сегодня времени больше не выдалось. Я подумал, возможно разработчики интуитивно догадаются, какие изменения между всего лишь 5 билдам могут такое вызвать. Если нет, буду дальше диффдиагностировать при первой возможности.

Smitis
Posts: 1492
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 14 times
Been thanked: 24 times
Contact:

Ассоциации для файлов при запуске из командной строки

Post by Smitis » Mon 27 Jun, 2016 21:35

gene.pavlovsky
Что-то уже изменили в 4728
Разум когда-нибудь победит.

gene.pavlovsky
Posts: 163
Joined: Tue 11 Aug, 2015 16:53
Has thanked: 11 times

Ассоциации для файлов при запуске из командной строки

Post by gene.pavlovsky » Tue 28 Jun, 2016 11:29

Похоже, исправлено, в 4728 этой проблемы более не наблюдается.

User avatar
John Doe
Бюрократ
Posts: 11421
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

Ассоциации для файлов при запуске из командной строки

Post by John Doe » Wed 20 Sep, 2017 14:34

Для файлов без расширения ассоциации не работают?
Last edited by John Doe on Wed 20 Sep, 2017 14:34, edited 1 time in total.

User avatar
John Doe
Бюрократ
Posts: 11421
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

Ассоциации для файлов при запуске из командной строки

Post by John Doe » Wed 20 Sep, 2017 14:51

Но это второй вопрос, а первый, это то что я столкнулся с такой проблемой, что в некоторых случаях есть разница между обычным запуском по ассоциации, и запуском в командной строке.

Дано:
В папке scripts файл xyz.lua такого содержания:

Code: Select all

CommandLine{
  prefixes="xyz";
  action=function(prefix,text)
    far.Show(Area.Current)
  end;
}
Создаём ассоциацию на любую маску (например xyz.lua) для Enter: xyz:.

Жмём Enter на файле, получаем макрообласть "Shell".
Запускаем то же самое из командной строки - получаем "Other".

Разумеется не утверждаю что тут какой-то баг.
Но для меня это представляет проблему, поскольку по макрообласти Other я пытаюсь определить, установлен ли в данный момент режим UserScreen, соответственно надо ли вызвать Get/SetUserScreen.
Возможно для этого нужен более надёжный способ.
Что посоветуете?

Smitis
Posts: 1492
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 14 times
Been thanked: 24 times
Contact:

Ассоциации для файлов при запуске из командной строки

Post by Smitis » Wed 20 Sep, 2017 14:55

John Doe wrote:
Wed 20 Sep, 2017 14:34
Почему?
Расширения для исполняемых файлов берутся из PATHEXT (было на предыдущей странице)
Разум когда-нибудь победит.

User avatar
John Doe
Бюрократ
Posts: 11421
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

Ассоциации для файлов при запуске из командной строки

Post by John Doe » Wed 20 Sep, 2017 15:06

Я не знаю что там берётся из PATHEXT, но измените в примере файл и маску на x.yz и запуск из командной строки заработает не взирая на то что в PATHEXT нет такого расширения.

Возможно именно это баг.
Хотя лично мне не кажется, что какие-то чисто фаровские маски уместно вообще добавлять в PATHEXT.


Допёр, что PATHEXT только для файлов без расширения.
Last edited by John Doe on Wed 20 Sep, 2017 15:10, edited 1 time in total.

User avatar
John Doe
Бюрократ
Posts: 11421
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

Ассоциации для файлов при запуске из командной строки

Post by John Doe » Wed 20 Sep, 2017 15:40

Обдумал ещё раз.
PATHEXT влияет на то, какие расширения будут подставляться, если имя в командной строке без расширения.
И всё, по идее. Если же имя указано полностью, то файл будет искаться в путях безотносительно того, перечислено ли его расширение в PATHEXT.

Но если файл и есть без расширения, т.е. имя указано полностью, и для него существует ассоциация, то вполне логично было бы в этом случае запускать.

Smitis
Posts: 1492
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 14 times
Been thanked: 24 times
Contact:

Ассоциации для файлов при запуске из командной строки

Post by Smitis » Wed 20 Sep, 2017 17:48

Переменная PATHEXT - системная. Пустые расширения в ней (из одной точки) не работают. Нужен свой параметр в настройках для "выполнителя" со списком расширений (или даже масок). По умолчанию значение параметра инициализировать переменной PATHEXT.
Разум когда-нибудь победит.

Post Reply

Return to “Обсуждение Far Manager”