Page 9 of 11

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

Posted: Mon 19 Sep, 2011 12:27
by 2useven10
В теме обсуждается 2x3.pl — perl-скрипт служащий для переноса конфигурации из Far 2 в Far 3.

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

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

Примечание модератора

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

Posted: Thu 26 Jun, 2014 18:57
by Argus

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 и выполнил команду там – заработало.

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

Posted: Thu 26 Jun, 2014 20:40
by John Doe
Их фара действительно лучше выйти.
Не работало у вас видимо потому, что в команде не прописан путь к far.exe
Недостаток инструкции.

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

Posted: Sun 08 Nov, 2015 01:48
by trump98
вот этот рег (1.70) сконвертить не получается.

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

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

Posted: Sun 08 Nov, 2015 09:00
by 2useven10
запускаю так: convert_all.cmd colors.reg -far1
для convert_all.cmd параметр -far1 игнорируется.
надо перенести его в сам скрипт (в строку где есть perl.exe).

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

Posted: Sun 08 Nov, 2015 18:03
by trump98
перенёс -far1 в cmd:

Code: Select all

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

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

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

Posted: Sun 08 Nov, 2015 19:46
by 2useven10
Выложите оба файла (вход и выход).
Не удивлюсь, если результат будет правильным.

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

Posted: Sun 08 Nov, 2015 21:27
by trump98
вход был в исходном сообщении под спойлером.
выход - вот:

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

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

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

Posted: Sun 08 Nov, 2015 23:01
by 2useven10
Из файла читается 0 цветов, 'остальные' умолчательные. Очень похоже на ошибку.

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

Posted: Sun 08 Nov, 2015 23:39
by 2useven10
Да reg файлы фар1 не читались (из реестра данные брались нормально).
Скрипт 2x3.pl поправил. Вложение в шапке.

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

Posted: Mon 09 Nov, 2015 01:05
by trump98
другие настройки конвертить не пробовал, а с цветами - не канает:

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 нулевой длины. он, наверное, и сейчас не нужен?

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

Posted: Mon 09 Nov, 2015 05:55
by tstr
ненужен

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

Posted: Mon 09 Nov, 2015 07:14
by 2useven10
но на самом деле они не 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" />

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

Posted: Mon 09 Nov, 2015 07:17
by 2useven10
может быть они просто не импортируются?
со времени создания конвертера формат импорта изменён: во флагах вместо '|' теперь пробел.

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

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

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

Posted: Thu 22 Nov, 2018 09:34
by 2useven10
скрипт конвертации (ссылка в шапке) обновлён - адаптация к изменениям формата хранения групп раскраски (b 5068+).