[perl] 2x3.pl: скрипт для переноса конфигурации из FAR 2

Здесь выкладываются готовые к использованию макросы и скрипты.
2useven10
Posts: 2983
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 2 times
Been thanked: 80 times

[perl] 2x3.pl: скрипт для переноса конфигурации из FAR 2

Post by 2useven10 » Mon 19 Sep, 2011 12:27

В теме обсуждается 2x3.pl — perl-скрипт служащий для переноса конфигурации из Far 2 в Far 3.

Служит для конвертации цветов, ассоциаций, групп раскраски/сортировки, ссылок на папки, режимов панелей и макросов.
Работа с базой через sqlite3.exe.

Скачать архив far2x3.7z во вложении ниже.
Можно конвертировать настройки Far 1 (2x3.pl -far1 ...), но надо иметь ввиду, что этот вариант почти не тестировался.

Примечание модератора
Attachments
far2x3.7z
(737.29 KiB) Downloaded 51 times
Last edited by 2useven10 on Sun 09 Apr, 2017 05:08, edited 15 times in total.

Argus
Posts: 2
Joined: Thu 07 Jan, 2010 18:26

Re: Использование:

Post by Argus » Thu 26 Jun, 2014 18:57

Latest post of the previous page:

2useven10 wrote:
  • Скачать все файлы конвертера и распаковать их в любую папку.
  • Выйти из Far 3 и запустить файл convert_all.cmd.
  • Скопировать все полученные .xml-файлы в папку с Far 3 и запустить из этой папки команду:

    Code: Select all

    for %i in (far3_*.xml) do far.exe /import %i
спасибо за инструкцию. получилось конвертировать настройки с far 1.70 1634 до Far 3.

только долго не мог понять, где нужно запускать команду for %i in (far3_*.xml) do far.exe /import %i ?
по вашей инструкции, во втором пункте четко и доходчиво написано, что нужно Выйти из Far 3.
соответственно, запускал где угодно (в cmd), но только не в Far - он ведь по инструкции остается незапущенным до конца процесса.
совсем не очевидно, что нужно делать! ни слова о том, что нужно запустить Far.
В конце концов запустил Far3 и выполнил команду там – заработало.

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

Re: [perl] 2x3.pl: скрипт для переноса конфигурации из FAR 2

Post by John Doe » Thu 26 Jun, 2014 20:40

Их фара действительно лучше выйти.
Не работало у вас видимо потому, что в команде не прописан путь к far.exe
Недостаток инструкции.

trump98
Posts: 13
Joined: Sat 07 Nov, 2015 03:32
Has thanked: 3 times

[perl] 2x3.pl: скрипт для переноса конфигурации из FAR 2

Post by trump98 » Sun 08 Nov, 2015 01:48

вот этот рег (1.70) сконвертить не получается.

в ходе экспериментов в convert_all.cmd укоротил один set, чтоб лишнего не мучилось ( - я ж только цвета хочу).
запускаю так:
в полученном far3_colors.xml цвета совпадают с дефолтными (теми, что выдаёт far /export; кстати, в экспортированных почему-то цвет и фон Editor.Text начинается не с FF, как у всех остальных, а с 00 - почему так?). а если б мой рег подхватился - то, как минимум, должен отличаться цвет префикса комстроки.
вообще, конечно, не исключено, что больше ничего и не отличается: я помню, что цвета правил совсем чучуть - проще руками перенести, чем с конвертилкой разборки устраивать. вот только я уже не помню, что именно правил - всё-таки больше 10 лет прошло :)

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

[perl] 2x3.pl: скрипт для переноса конфигурации из FAR 2

Post by 2useven10 » Sun 08 Nov, 2015 09:00

запускаю так: convert_all.cmd colors.reg -far1
для convert_all.cmd параметр -far1 игнорируется.
надо перенести его в сам скрипт (в строку где есть perl.exe).

trump98
Posts: 13
Joined: Sat 07 Nov, 2015 03:32
Has thanked: 3 times

[perl] 2x3.pl: скрипт для переноса конфигурации из FAR 2

Post by trump98 » Sun 08 Nov, 2015 18:03

перенёс -far1 в cmd:

Code: Select all

[...]
  "%~dp0perl\bin\perl.exe" "%~dp02x3.pl" %1 -far1 -i %inp% -o %2="%~dp0far3_%1.%2"
[...]
все три far3_colors на выходе что до, что после - одинаковы...

может, там ещё и порядок аргументов важен?

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

[perl] 2x3.pl: скрипт для переноса конфигурации из FAR 2

Post by 2useven10 » Sun 08 Nov, 2015 19:46

Выложите оба файла (вход и выход).
Не удивлюсь, если результат будет правильным.

trump98
Posts: 13
Joined: Sat 07 Nov, 2015 03:32
Has thanked: 3 times

[perl] 2x3.pl: скрипт для переноса конфигурации из FAR 2

Post by trump98 » Sun 08 Nov, 2015 21:27

вход был в исходном сообщении под спойлером.
выход - вот:

trump98
Posts: 13
Joined: Sat 07 Nov, 2015 03:32
Has thanked: 3 times

[perl] 2x3.pl: скрипт для переноса конфигурации из FAR 2

Post by trump98 » Sun 08 Nov, 2015 21:28

far /export выдаёт то же самое (убрал по 4 пробела в отступах, чтоб было легче сравнивать):
если в настройках фара3 исправить цвет префикса коммандпромпта на такой же, какой был настроен в моём 1.70 - то far /export отдаёт это:

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

[perl] 2x3.pl: скрипт для переноса конфигурации из FAR 2

Post by 2useven10 » Sun 08 Nov, 2015 23:01

Из файла читается 0 цветов, 'остальные' умолчательные. Очень похоже на ошибку.

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

[perl] 2x3.pl: скрипт для переноса конфигурации из FAR 2

Post by 2useven10 » Sun 08 Nov, 2015 23:39

Да reg файлы фар1 не читались (из реестра данные брались нормально).
Скрипт 2x3.pl поправил. Вложение в шапке.

trump98
Posts: 13
Joined: Sat 07 Nov, 2015 03:32
Has thanked: 3 times

[perl] 2x3.pl: скрипт для переноса конфигурации из FAR 2

Post by trump98 » Mon 09 Nov, 2015 01:05

другие настройки конвертить не пробовал, а с цветами - не канает:

Code: Select all

palette too short(84) -- default colors added
но на самом деле они не added вместо недостающих, а всё целиком установлено в дефолт.

я в перловке кагбэ не разбираюсь, но вот чего сумел разобрать:
в цветах фар2 147 раскрашиваемых элемента. в фар3 - 146 (при этом отсутствует тот, что в реестре второго фара идёт под номером 71). чтение значений цветов из источника идёт по порядку, имя записываемого элемента тоже берётся по порядку из скрипта. для отсутствующего в фар3 цвета делается пропуск...
а у меня в реге - 84 элемента. причём, как оказалось, мой фар1 (1.70альфа6 1736) знает 112 элементов. это я хотел сравнить дефолтные цвета с моими - хоть узнать, сколько штук я наизменял, да и перенести их уже руками: грохнул параметр из реестра, записал настройки - и вот обнаружил... ну, в цветах я ковырялся, наверное, ещё в 1.6х - отсюда и разница эта может быть.

и вот встаёт вопрос: раз при переходе 2->3 из раскрашиваемых элементов выбросили №71, то не было ли чего такого с переходом 1->2? да и с обновлениями в пределах 1.х, получается, не всё так просто может быть...

ну и пара замечаний по обновке:
rem uncomment line below to convert faf1 -> far3 settings
в предыдущей версии в каталоге perl не было файла tstr-strawberry-miniperl нулевой длины. он, наверное, и сейчас не нужен?

tstr
Posts: 500
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 3 times
Been thanked: 5 times

[perl] 2x3.pl: скрипт для переноса конфигурации из FAR 2

Post by tstr » Mon 09 Nov, 2015 05:55

ненужен

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

[perl] 2x3.pl: скрипт для переноса конфигурации из FAR 2

Post by 2useven10 » Mon 09 Nov, 2015 07:14

но на самом деле они не added вместо недостающих, а всё целиком установлено в дефолт.
это уже клевета. смотрите внимательнее на результат. вот ваши изменённые цвета:

Code: Select all

    <object name="CommandLine.Prefix" background="FF000000" foreground="FF000006" flags="bg4bit|fg4bit" />
    <object name="CommandLine.Selected" background="FF000007" foreground="FF000000" flags="bg4bit|fg4bit" />
    <object name="Dialog.Edit.Unchanged" background="FF000003" foreground="FF000008" flags="bg4bit|fg4bit" />
    <object name="Dialog.List.Disabled" background="FF000003" foreground="FF000008" flags="bg4bit|fg4bit" />
    <object name="Editor.Clock" background="FF000000" foreground="FF000000" flags="bg4bit|fg4bit" />
    <object name="Menu.Text.Disabled" background="FF000000" foreground="FF000000" flags="bg4bit|fg4bit" />
    <object name="WarnDialog.List.Disabled" background="FF000003" foreground="FF000008" flags="bg4bit|fg4bit" />

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

[perl] 2x3.pl: скрипт для переноса конфигурации из FAR 2

Post by 2useven10 » Mon 09 Nov, 2015 07:17

может быть они просто не импортируются?
со времени создания конвертера формат импорта изменён: во флагах вместо '|' теперь пробел.

trump98
Posts: 13
Joined: Sat 07 Nov, 2015 03:32
Has thanked: 3 times

[perl] 2x3.pl: скрипт для переноса конфигурации из FAR 2

Post by trump98 » Mon 09 Nov, 2015 12:31

2useven10 wrote:смотрите внимательнее на результат.
ниччего не понимаю...
сейчас на вывод посмотрел - действительно, 7 строк отличий.
наверное, при сравнении я умудрился смотреть на вывод в старой папке, ещё неисправленной...
2useven10 wrote: может быть они просто не импортируются?
а я и не пробовал импортировать. я ж думал, что отличий нету :)

Post Reply

Return to “Полезные макросы и скрипты”