1. нафига, если "reg import xxx.reg"? если уж так сильно хочется пользоваться системным reg.exe а не reg2:import:xxx.reg. Особенно учитывая, что у системного есть известные проблемы
2. с разрешениями возиться (пока по крайней мере) не хочу. плагин их и менять пока не умеет.
1. После какого-то билда (1.1.17 - OK) RegEditor стал воспринимать все пути как относительные, даже если путь содержит раздел реестра или алиас (HKEY_CURRENT_USER, HKCU).
Если перед путём не поставлен слэш, вызов "cd HKEY_CURRENT_USER\Software" не из корня, вызовет ошибку: "Ключ не существует или нет прав на чтение".
Косметика/придирки:
2. Включение/Отключение крыжика ( [x] Показывать в меню дисков ) срабатывает, только со второго захода:
RegEditor > Настройки > [x] Показывать в меню дисков > OK
Перезапускаем FAR, открываем меню Дисков - RegEditorа нет
Идём в настройки RegEditorа, крыжик стоит, просто жмём Enter, теперь сохранилось.
3. HKEY_PERFORMANCE_DATA - rarely used, но вдруг, код, который его читает используется где-то ещё:
Если зайти в ветку, ключи показываются обрубками: Costl, Globa
При чтении ключа, а не ветки целиком - читаются лишь несколько десятков байт.
при добавлении такого функционала мы получаем заготовку сценария который правится (в ручную и автоматом) на предмет подстановки вместо конкретных имён и значений значений переменных окружения, путей к файлам на _момент работы скрипта_.
2. с разрешениями возиться (пока по крайней мере) не хочу. плагин их и менять пока не умеет.
да вобщем понятно. если с п.1 можно обойтись внешней прогой reg2cmd, то для функционала п.2 аналогов нет. общепринятых форматов не существует, прог работы с реестром которые хотя бы в своём формате хранят инфу о разрешениях - нет. а ведь функция очень полезная.
на счет .cmd - наверное логично, сделаю
но reg достаточно дурной, например QWORD (или еще что-то более специфическое) можно выкинуть только как REG_BINARY
с правами ковыряться нужно. один раз попробовал - сложилось впечатление что в реестр применилось что-то не то... и отложил в долгий ящик.
SetACL - очень мощная и бесплатная утилита, предназначенная для работы со всеми видами разрешений безопасности Windows (файловая система, реестр, службы, принтеры, общие ресурсы), незаменима при "массовой (batch mode)" работе с разрешениями; существует как отдельный исполняемый файл, так и в виде COM DLL, которую можно использовать практически с любым языком программирования. В том числе, позволяет бэкапить разрешения в файл и восстанавливать их из него.
tstr wrote:прог работы с реестром которые хотя бы в своём формате хранят инфу о разрешениях - нет
Если речь идёт о программах, выполняющих экспорт ключей реестра с сохранением разрешений - то RegEditor (как и Registry) делает это и сейчас! Для этого и существует экспорт в бинарном формате (hives, кусты) - все разрешения в этом формате сохраняются. К сожалению, импорт кустов не реализован ни в одном из упомянутых плагинов, но RegEdit.exe прекрасно с этим справляется (хотя при этом нужно быть очень осторожным).
Если речь об экспорте (импорте) только разрешений реестра в файл - см. spoiler выше.
Каким-то образом совмещать экспорт ключей и разрешений реестра в текстовом формате лично я особого смысла не вижу: это может выполняться только с целью последующей "ручной" правки, при этом SDDL в этом контексте нельзя назвать "дружественным", а изобретать какойто свой формат и вовсе глупо.
В целом, мне кажется нет необходимости нагружать RegEditor работой с разрешениями - всё таки, если это и бывает нужно - то достаточно редко (в отличие от файлов), и, думаю, никого не "поломает" воспользоваться для этой цели средствами RegEdit.exe. Если же кому-то приходится это делать много и часто - см. spoiler выше.
1. Почему плагин не "прыгает" (Ctrl+J) в подмонтированный куст реестра? Registry всегда это делал - неважно "реальный" это реестр или подмонтированный. В RegEditor при нажатии хоткея - никакой реакции, хотя (большой) куст однозначно монтируется в подключ HKU (и даже интереснее чем это делает Registry - по названию подключа можно понять где лежит реальный файл). При этом странно, что маленькие кусты монтируются непонятно куда (в HKU не появляются, а так как плагин не "прыгает" - не получается узнать куда).
2. Тоже "голосую" за "запоминать последний выбранный вид панелей". На мой взгляд запоминать свой собственный вид - это нормальное поведение для плагинов, так как очень часто они отображают специфичный контент (вот бы тот же ProcList всегда включался по виду файловой панели). Я, например, при редактировании реестра почти всегда пользуюсь видом LCtrl+6, так как он позволяет видеть одновременно названия параметров и их значения (при этом я не использую этот вид в файловых панелях, вид которых RegEditor повторяет при запуске сейчас). Пусть это будет опцией и даже отключенной по умолчанию (да и реализовать это, думаю, не сложно).
3. Было бы неплохо "перенять" от Registry "прямой вызов" графического диалога редактирования разрешений для ключей (Ctrl+A), в том числе ключей из подмонтированных кустов. В принципе, это мелочь, но она стала бы приятной, если бы была реализована.
4. (•) Binary files ("hives") [x] Export as subkey
Сразу хотелось бы уточнить что это за "subkey"? Сначала я подумал, что куст будет экспортирован "с полными путями" относительно корня реестра. Но не совсем понятно зачем, так как RegEdit.exe при импорте кустов заменяет его содержимым весь выделенный на момент импорта ключ, а плагины для Far не умеют импортировать кусты... Вобщем, опытным путём выяснить не удалось.
1. слова знакомые - смысла не понял. куда, откуда и зачем я должен прыгать по Ctrl-J
2. а мне это нафиг не надо но поскольку просят - когда-нибудь сделаю опцию
3. CtrlAltF4, ибо нефиг вешать на CtrlA что-то кроме ожидаемого диалога атрибутов. Однако, в текущем релизе редактирование прав недоступно.
4. Чтоб было. В частности, в кусте невозможно сохранить права для экспортируемого ключа, если не включить флажок "subkey". То, что плагины не умеют импортировать - это ведь проблемы плагинов, не так ли?
Maximus5 wrote:1. слова знакомые - смысла не понял. куда, откуда и зачем я должен прыгать по Ctrl-J
Имеется в виду открыть RegEdit и спозиционироваться в нём на тот/то же ключ/значение, который/-ое является текущим на панели. Тут в форуме, кажется, в теме про Registry Browser было краткое обсуждение, где взять исходники (кажется, от SysInternals), которые иллюстрируют, как это можно сделать.
Last edited by HaRT on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason:Вычеркнуто сомнительное
1. HaRT, в общем-то, объяснил. Уточню лишь, что для обычных ключей/значений плагин делает это нормально и сейчас, а вот из панели подмонтированного вручную куста (hive) он этого не делает.
3. Сам хоткей неважен, имелась в виду реализация функционала (за которую спасибо)
И ещё немного (нумерацию продолжу во избежание путаницы):
Far 2.0.1807, RegEdit 1.1.27.0 x86W
5. Уход в фоновую нить при считывнии/обновлении больших ключей по умолчанию настроен на 0,3 сек. При этом панель реально обновляется (эксперимент с секундомером на HKCR и HKCR\CLSID) через 3-5 сек. Ключи действительно большие и речь не о скорости. Хотелось бы чтобы до обновления панели был индикатор выполнения (например, такой же, какой отображается при экспорте ключей), а то появляется ощущение "подвисания" Far'а.
6. Может при подключении из панели плагина к корню сетевого реестра (cd \\name) попытку перейти по пути, повторяющему текущий путь в локальном реестре - сделать опциональной? Мне кажется, такое поведение не всегда ожидается, даже наоборот. К тому же, такого же пути там часто не оказывается - получаем: лишнее "красное предупреждение", нажатие на Enter, оказались заранее неизвестно где.
7. Хранение отдельного списка закладок (шорткатов) для сетевого реестра - тоже опцией? Синхронизации между ними нет и если хочется одного общего списка - приходится "сводить" их вручную.
8.
Список сетевых закладок, предлагаемый по умолчанию, содержит ошибку - при попытке открыть его в редакторе получаем:
╔═════════════════════ RegEditor ══════════════════════╗
║ '\0\0' are prohibited in the center of REG_MULTI_SZ! ║
║ '\0\0' was replaced with '\n'! ║
╟──────────────────────────────────────────────────────╢
║ { OK } ║
╚══════════════════════════════════════════════════════╝
5. то, что вам кажется "3-5" секунд работы плагина - это работа фара, плагин свой "индикатор" уже убрал. Все, привет... Рекомендую включать "[x] Disable sorting, when key contains more items than" - тогда "со свистом".
Желающим экспорта в cmd.
Приложены тестовые reg-файлы (REG_SZ и REG_MULTI_SZ) и получившиеся после экспорта cmd-шники.
cmd-шники получаются не рабочие, потому как или reg.exe не понимает чего-то одного, или cmd.exe не переваривает чего-то другого.
И если что-то в батнике еще можно поправить (например | заменить на ^|), то другое не получается.
Вобщем, дерзайте, правьте получившиеся батники, и пишите чего не хватает. Ну или какие символы в принципе нельзя выгрузить в cmd-файл. (те ограничения, которые я пока нарыл - описаны в шапке батников).
Мне уже надоело
Windows Registry Editor Version 5.00
…
[HKEY_CURRENT_USER\software\far2\KeyMacros\Common\F11]
"Sequence"="F11
$If (Menu.Select(\"Команды плагинов\", MENUSELECT_MATCH_ENTIRE) > 0)
Enter
$Else
Esc
$AKey
$End"
"Description"="AdvPlugMenu: Команды плагинов"
"DisableOutput"=dword:00000001
Так вот, единственным средством, которое позволило импортировать такой «кривой» reg-файл (обнаружил этот факт я слишком поздно, исходный реестр остался в другом месте, а сделать импорт, как обычно, нужно было «здесь и сейчас»), оказался «RegEditor».
AlexII
Дезинформация. Провёл эксперимент: если там действительно последовательности "\r\n" - то и RegEdit.exe, и reg.exe прекрасно импортируют и экспортируют такое значение, т.е. SaveSettings.cmd не мог сделать такого экспорта. Возможно это сделал какой-то редактор, которым reg-файл открывался после экспорта.
Last edited by plastikat on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason:Исправлено форматирование