gifts2017

Запуск конфигурации без регистрации в списке ИБ

Опубликовал Алексей (alleh) в раздел Администрирование - Стартеры 1С

запускаем конфигурацию платформы 1С.7.7 через bat-ник... не требуется регистрировать ИБ в списке запуска и после корректного выхода - реестр остаётся пустым.. ;-)

Как-то, запиливая очередное обновление под нашу конф-у я подумал, что сильно увеличиваю почём зря список используемых ИБ: это и ненужно, и неудобно, и вообще... И решил попробовать как это можно сделать проще. Вот что у меня получилось. Надо сделать следующий bat-файл (назвать его например start1C.bat) и там написать такие команды (можно копировать прямо всё - синтаксис комментариев сохранён):

 

SET CurPath=%CD%
REG ADD HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles /v "%CurPath%" /t REG_SZ /d tmpDB1
REM Здесь можно проверить где именно прописываются списки заголовков в реестре
REM вроде - это стандартно, но RegEdit запустить несложно ;-)
START "Executed 1C" /WAIT 1cv7 config /D%CurPath%
REM Эта строчка запускает ИБ в режиме "Конфигуратора" (можно заменить слово "config" на "enterprise" - тогда будет запускаться в режиме "Предприятие")
REM Если какие-то проблеммы с установкой 1С были, то можно запустить более "обще" - ["C:\Program Files\1Cv77\BIN\1cv7l.exe" config /D%CurPath%]
REG DELETE HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles /v "%CurPath%" /f
REM Опять же здесь нужно писать тот адрес реестра, который был проверенный в комманде выше...

 

Этот файл кидается в папку необходимой ИБ и от туда запускается. При запуске, естественно, будет ещё одно окошко от cmd - его не нужно закрывать - после закрытия вызванного приложения оно само закроется, вычистив реестр от адреса ИБ..;-)

См. также

Подписаться Добавить вознаграждение

Комментарии

1. asidqwerty asidqwerty (asidqwerty) 01.05.11 17:28
А где упоминание что это КОНКРЕТНЫЙ БАЯН :D
2. Владислав Чинючин (vcv) 01.05.11 17:59
(1) Каждое поколение заново открывает "вечные истины". Во веки веков. Аминь! :D
3. Алексей (alleh) 01.05.11 21:29
(1)вам бы это помогло (если бы я написал БОЯНИЩЩЕ)..?)) мне иной раз кажется, что боян - это когда на каждую шутку/фразу/картинку/etc говорить "ну это боянище" и ещё нарисовать "[ : |||||||||||| : ]"...ну знаешь эту шутку/фразу/картинку/etc - что тебе мешает по жизни чтобы просто промолчать и не показывать всем что вот ты это уже слышал стопятсот раз...этим ты покажешь свою эрудированность..? вот судя по вашему профайлу - есть много других способов показать эту самую эрудированность..)) а тут вот может быть найдётся кто-то, кто это первый раз заметит и ему это поможет - иной раз, грызя жкк, порвёшь не один боян, прежде чем докопаешься до нужной мысли..))
zuza; Alraune; +2 1 Ответить 1
4. overdriver (overdriver) 02.05.11 13:18
Все гораздо проще.
Чтобы при установке обновления список баз не засорялся ненужным мусором, нужно перед запуском установки обновления открыть окно списка баз и все. Пока окно открыто новые базы не добавляются, видимо 1с захватывает ветку реестра и блокирует запись.
5. Альтаир (Altair777) 02.05.11 14:47
(0) сработает ли этот способ если у пользователя нет прав администратора?
6. Альтаир (Altair777) 02.05.11 15:02
(3) у Вас забавный подход - показывать свою "эрудированность" чужими открытиями типа "О! Колесо!" в надежде что большинство слушателй этого не знают по причине того, что оно им вообще не нужно. А те, кто знают, промолчат из скромности. А те, кто не промолчат, будут Вами же и обхаяны.
7. Алексей (alleh) 02.05.11 15:31
(4) тут речь немного о другом.. после извлечения обновления, у меня имеется три ИБ (в случае изменённой конфигурации): старая базовая, старая изменённая, новая базовая + формируем ещё одну - новую изменённую... вот чтобы в список не добавлять эти 4 базы, а напрямую с ними работать - есть такой стартовый файлик... кроме обновлений, у меня например, ещё есть несколько тестовых иб, где чего-то пробую..опять же - чтобы не засорять, можно запускать без этого списка...

(5) обычно программисты 1С наделены правами администратора... иногда, в мелких организациях, даже совмещают эти должности: сис.админ и программист 1С...

(6) по-моему, нормальный подход - я не считаю это открытием... подобный способ придумал сам... просто как-то натыкался на вопросы, что люди хотели знать, как бы работать с 1С, чтобы быстро вычистить все следы работы с 1С... в принципе - кроме упрощения работы программиста, этот файлик решает и подобный вопрос... по поводу "обхаянности" - есть банальная фраза (тоже боян) "критиковать всегда проще"...о чём я достаточно корректно (как мне кажется) и сказал...)) по поводу "О!КОЛЕСО!" - если вы хотите создавать некую "книгу знаний" - где всё систематизировано и без повторений - то это в любом случае не формат форума... так что я ценю ваше стремление, как модератора, заступиться за беспричинно обхаянных пользователей данного форума, но это несколько однобоко получилось..))
8. Альтаир (Altair777) 02.05.11 16:11
(7)
alleh пишет:
иногда, в мелких организациях, даже совмещают эти должности: сис.админ и программист 1С

это ответ на коммент №5? и откуда в мелких организациях большое количество баз?

alleh пишет:
но это несколько однобоко получилось..

хватит искажать информацию! очень даже двубоко - один модератор плюсанул 3 коммент, второй минусанул. Баланс соблюден :D
9. Алексей (alleh) 02.05.11 16:24
(8)
откуда в мелких организациях большое количество баз?
читайте внимательно: ОДНО обновление ОДНОЙ изменённой конфигурации порождает ЧЕТЫРЕ ИБ... + какие-то тесты для работы...

один модератор плюсанул 3 коммент, второй минусанул. Баланс соблюден :D
у вас было больше эмоций - вы поставили два минуса..)) но так то мне пофиг на эти минусы - если сообщество решит, что это никому не нужно - то и ладно....если кому-то поможет - то и слава богу...))
10. Альтаир (Altair777) 02.05.11 16:42
11. Алексей (alleh) 02.05.11 20:29
(10) так то это выше написано...но поскольку вы модератор - не буду лишний раз говорить "читайте внимательнее"..)) обновляя изменённую конфу надо иметь следующие четыре иб:
1. старую типовую
2. старую изменённую
3. новую типовую
4. новую изменённую (формируется программистом)
такое ощущение, что вы никогда не обновляли изменённую конфу и это для вас "О!КОЛЕСО!".. ;)
12. Александр Зубцов (iov) 02.05.11 22:58
плюс за то что напомнил этот способ.
А про баяны... Тут каждый день сам по себе баян.
13. Альтаир (Altair777) 03.05.11 10:08
(11)
при чем тут типовые?! до 11 коммента о них не было сказано ни слова. Так что сами читайте внимательнее что пишите.
Но даже в этом случае я пользуюсь следующими:
1. Рабочая база (имененная типовая)
2. Копия рабочей базы для изменения (она есть всегда).
md новой типовой. И ВСЕ! Ни единой новой базы!
14. Ийон Тихий (cool.vlad4) 03.05.11 10:24
(11)
такое ощущение, что вы никогда не обновляли изменённую конфу и это для вас "О!КОЛЕСО!"..
хорош выеживатся, ну сказали вам чего-то, последуйте своему совету промолчать...
15. Алексей (alleh) 03.05.11 10:43
(13) так может быть и можно, если все изменения в рабочей конфе помечены комментариями..иначе надо знать и помнить все изменения или иметь под рукой старую типовую и новую типовую конфы...
16. Альтаир (Altair777) 03.05.11 10:53
(15) именно так! все изменения помечены комментами и отдельно ведется лист этих изменений в текстовом файле.
Первое - это правило хорошего тона по отношению к себе и другим программистам, работающими вместе или после тебя.
А второе - для удобства. Очень хорошо одним взглядом окинуть разные отклонения от типовой, заметить связи между ними.
17. Алексей (alleh) 03.05.11 11:05
(16) я полностью согласен и с первым и со вторым...и для одной из конфы уже сделал лог изменений...НО! часто не все документируют изменения, а если изменений очень много и обновления не часты - то заводить отдельный лог-файл с изменениями - это мыторно..)) хотя, для лучшего и полного понимания всех изменений - может это и нужно..))
18. Колян Митрюхин (dan77i) 04.05.11 11:36
Когда делаю изменения в типовой конфигурации, то обязательно создаю отчет "Изменения в конфигурации", а в описание кладу фрагменты кодов.
Обновления делаю так, чтобы по максимуму не изменять типовые объекты. Просто добавляю новые с дополнительными реквизитами и ссылками на объект-владелец. При обновлении не приходится держать несколько баз-заготовок и сравнивать. Достаточно выполнить инструкции в описании к моему отчету внутри конфигурации. Поэтому необходимости в скрипте не вижу. Пользуюсь скриптом, который чистит реестр от уже удаленных баз. Это, ИМХО, проще. Я на своем подходе не настаиваю :-)
19. Альтаир (Altair777) 04.05.11 12:20
мое мнение такое
правка реестра без особой необходимости - зло
итого = фтопку :D

P.S. я достаточно обосновал свой минус?
20. Алексей (alleh) 04.05.11 13:24
(19) если вам оно нужно, могу привести контр-плюсы...по-крайней мере сразу напрашиваются два:
1. изначально 1С сама начинает править реестр без особой необходимости...и пользуясь этой программой, надо принимать и её методы игры...так, например СБиС++ эти списки в реестре не ведёт и запускается ИБ с батника без изменения в реестре...
2. "правка реестра без особой необходимости - зло" - это я обычно говорю пользователям, которые научились запускать regedit...)) а если знаешь что именно ты исправляешь - то чем это зло? так же можно сказать что "администрирование винды - это зло"...))
21. Александр Левнёв (alevnev) 04.05.11 13:32
Прочитал полемику... Для меня это давно пройденный этап, но кому-то может пригодится (кто для себя только-только открывает некоторые "истины").
Минусовать не буду (как и плюсовать), но выскажу свои замечания:
1) Скрипт будет работать только при условии прав доступа к соответствующей ветке системного реестра, о чем автор публикации не упомянул;
2) Оставшееся открытым окно консоли (командного процессора) на фоне работающей базы 1С, что есть совсем не хорошо.
22. Альтаир (Altair777) 04.05.11 13:35
(20)
alleh пишет:
так же можно сказать что "администрирование винды - это зло"

конечно, зло
сколько раз приходилось переустанавливать ОС из-за того что юзеры запускали какой-нибудь твикер, клацали по галочкам и вместо того чтобы ускорить систему, убивали ее частично или наглухо

alleh пишет:
а если знаешь что именно ты исправляешь - то чем это зло?

раз в году и незаряженное ружье стреляет :D
что мешает раз в неделю/месяц штатными средствами убрать ненужные базы из списка?
23. Алексей (alleh) 04.05.11 14:05
(22)
конечно, зло
сколько раз приходилось переустанавливать ОС из-за того что юзеры запускали какой-нибудь твикер, клацали по галочкам и вместо того чтобы ускорить систему, убивали ее частично или наглухо
по этому поводу вроде у линкольна есть замечательное высказывание: "если выпивка и приносит вред, то вред этот проистекает не от употребления плохой вещи, а от плохого употребления хорошей вещи." думаю без пояснений можно понять как это соотносится к данному случаю...))

что мешает раз в неделю/месяц штатными средствами убрать ненужные базы из списка?
я люблю работать в тоталкоммандере...я даже сравниваю глобальный модуль при обновлении через тоталкоммандер...и всё запускаю из тоталкоммандера...и мне нахрен не нужно это окошечко запуска, где нужно регистрировать, а потом чистить, а потом опять регистрировать, а потом опять чистить итакдобесконечности ТОЛЬКО ПОТОМУ, ЧТО РЕЛИГИЯ НЕПОЗВОЛЯЕТ ПРАВИТЬ РЕЕСТР...))
24. Альтаир (Altair777) 04.05.11 14:13
(23) замечательная фраза!
alleh пишет:
где нужно регистрировать, а потом чистить, а потом опять регистрировать

в том-то и дело. что не нужно каждый раз это делать
для каждой конфы разово создать список всех сопутствующих ей ИБ и все!
а в результате таких действий, как в разработке, реестр будет пухнуть и фрагментироваться (если я, не ошибаюсь)
25. Альтаир (Altair777) 04.05.11 14:15
alleh пишет:
думаю без пояснений можно понять как это соотносится к данному случаю

да никак оно не относится, тут ситауция другая - плохое употребление плохой вещи
26. Алексей (alleh) 04.05.11 14:24
(24)
в результате таких действий, как в разработке, реестр будет пухнуть и фрагментироваться
ерунда..во время работы (просто работы) - ОС обращается к реестру сотню раз в секунду...и делает там свои "неведомые изменения"...и тут вдруг, пару раз вдень изменяя реестр - ты сильно его раздуешь...ага...)))
27. Альтаир (Altair777) 04.05.11 14:36
alleh пишет:
ОС обращается к реестру сотню раз в секунду...и делает там свои "неведомые изменения"

это Вам Билл Гейтс сказал по секрету?
28. Ийон Тихий (cool.vlad4) 04.05.11 14:40
(26) Вообще кусты выгружаются в память и считываются уже оттуда, запись же сотню раз в секунду ...что-то я сомневаюсь в этом сильно...реестр это системная база данных, и если нет смысла ее редактировать, то лучше этого не делать - хотя бы по причинам - безопасности и слабой логики/документации для конечного пользователя, -- а следовательно слабом управлении и как следствие ошибки. Ручное редактирование, только тогда, когда иначе нельзя - например восстановить систему. В конце концов никто не лезет в БД и не исправляет там вручную данные по пустякам.
29. Ийон Тихий (cool.vlad4) 04.05.11 14:44
вот некошерный журнал, но автор статьи очень уважаем повсеместно http://www.xakep.ru/magazine/xa/109/024/1.asp
Поскольку, данные из реестра не только читаются, но и добавляются, причем порядок добавления новых ветвей в общем случае произволен, листья одного узла, вместо того, чтобы быть сгруппированными вместе, оказываются разбросаны по значительной площади. Для увеличения производительности, Microsoft стремится минимилизировать обращения к фалам реестра, кэшируя их в памяти. Проблема в том, что кэширование осуществляется на страничном уровне, а размер одной страницы составляет 4 Кб. То есть, если нам нужно прочесть 10 ветвей реестра (с размером в ~100 байт каждая), разбросанных по всему файлу, мы теряем уже не 10 х 100 == 1000 байт, а 10 х 4096 == 40960, то есть свыше 40 Кбайт оперативной памяти! А ведь системе требуется работать отнюдь не с десятью ветвями и килобайты превращаются в десятки мегабайт! Отсюда — своп, тормоза, etc.
30. Алексей (alleh) 04.05.11 15:17
(27)
Altair777 пишет:
это Вам Билл Гейтс сказал по секрету?
ну так то это не секрет...)) можете запустить regmon (кстате в статье ниже это тоже советуется) - и ужаснётесь)))

(29)из приведённой цитаты следует, что винда просто обречена на торможение, пока она работает с реестром по мелкософтски-оптимизированному способу..)) мне кажется это странным: мелкософт минимизирует обращение к файлам (для ускорения работы), но тем самым настолько загрязняя оперативку, что просто невозможно работать...)) короче - о том, как может попортиться реестр из-за вышепредложенного батника: там возможна "внутренняя фрагментация", насколько я понял из статьи...но возможна-ли она вообще? допустим - возможно...но мы ж меняем значение только у ветки заголовков...там мы и можем что-то нафрагментировать...и в самом худшемслучае окно запуска будет вызываться не 2 секунды, а 3 секунды...а на работе 1С и, тем более, ОС - это никак отразиться не должно...я так думаю...))
31. Альтаир (Altair777) 04.05.11 15:30
alleh,
еще раз обращаю внимание на комм 24, ключевая фраза из него ускользнула от Вашего понимания
для каждой конфы разово создать список всех сопутствующих ей ИБ и все!
32. Ийон Тихий (cool.vlad4) 04.05.11 15:35
(30) в данном случае, конечно...но нормальные админы это те которые запрещают любой доступ к реестру....и
ну так то это не секрет...)) можете запустить regmon (кстате в статье ниже это тоже советуется) - и ужаснётесь)))
чего там ужасатся, каждый день вижу можно сказать, дело не в записи, а в чтении, которое само по себе фрагментировать не может, а вот создайте приложение циклической записи и удаления ключей и ужаснитесь...
33. Алексей (alleh) 04.05.11 15:56
(31) от моего внимания и понимания эта фраза не ускользала...но она рекурсивная: возвращает опять к обсуждению "сколько нужно баз для обновления и как правильно вести изменения типовой конфы"...)) напомню ещё раз - изменения в типовой конфе - не я все делал и их чуть больше, чем очень много... есть жирная папка с описанием ТЗ для всех этих изменений - понять сущность изменений можно... но стоит ли их всех документировать в лог изменения типовой конфы - это вопрос, поскольку обновления не настолько часты и не затрагивают сразу все эти изменения...))

(32) опять ещё раз - этот способ является как бэ одним из возможных, который может использовать программист, организовывая себе работу с иб... если он пожелает сделать так для всех пользователей, чтобы при внезапном случае мгновенно удалить все следы о рабочей иб - это его личностное пожелание будет...алягер кон алягер - каждый сам выбирает степень лигитивности своей работы..))
34. Альтаир (Altair777) 04.05.11 16:02
(33)
1) сколько измененных типовых конфигураций у Вас в работе?
2) где Вы работаете - франч или фри? Имхо, для фикси это совсем не нужно.
3) сколько "паразитных" баз у Вас создается в месяц? И сколько из них создается повторно?
35. Алексей (alleh) 04.05.11 16:12
(34) если Вы желаете заняться оптимизацией моей работы - это конечно богоугодное дело наверняка, но нифига не благодарное...)) я сам решаю, как мне удобно работать...то, что много сказанное вами я возможно приму в расчёт - это моё личное дело...)) так же я думаю и любой другой программист сам для себя решит, как ему лучше организовать свою работу: Ваше имхо конечно очень важно, как несравненный опыт впереди-идущего дирижабля, но личный опыт в данном случае мне кажется более полезен...)) это ж не ошибки, а удобство работы..)) кому то удобнее, когда у него всё лежит на рабочем столе (desktop-e) - у меня там только wallpaper...каждый работает так, как ему удобнее... я предложил такой вариант - может кому-то он понравится...и мне пофиг, что кто-то уже до этого додумался раньше и считает себя на более высокой ступени развития от того, что не пользуется этим...)) в вопросах удобства нет "правильно-неправильно" - это решается лично каждым, мне кажется...))
36. Альтаир (Altair777) 04.05.11 16:17
(35) если бы Вы это решали только сами для себя, не навязывая такое решение другим :)
короче, снова выскажу мое имхо - это разработка ненужная, неправильная и вредная

P.S. если я не ошибаюсь, ни на один мой вопрос Вы ни разу не ответили конкретно и внятно
37. Алексей (alleh) 04.05.11 16:35
(36)
Altair777
если я не ошибаюсь, ни на один мой вопрос Вы ни разу не ответили конкретно и внятно
вы ошибаетесь...если я конкретно и не ответил, то только по поводу админских прав (ком.№5 "сработает ли этот способ если у пользователя нет прав администратора?")...хотя ответ там был вполне внятным: у программиста это должно в любом случае работать, так как его обычно наделяют админскими правами (или сис.админ, или он сам себя, как сис.админ по совмещению)...для пользователей, у которых "нет прав администратора" - всё неоднозначно: надо смотреть какие права у них есть..ибо винда при администрировании делит пользователей не просто на "администратор" и "не администратор" - там всё тоньше...))

если бы Вы это решали только сами для себя, не навязывая такое решение другим
как я навязываю? я понимаю, если бы я детям стал бы раздавать пиво на улице - это навязывание...а тут при чём навязывание..?)) если вы имеете в виду нашу длинную полемику как способ навязывания - то тогда я вам получается навязываю...но это не так...я поддерживаю разговор по двум причинам: 1. чтобы выравнять баланс, пытаюсь донести контр-аргументы всем вашим минусам... 2. всегда считал, что в беседе с компетентным человеком часто приходят новые и интересные идеи...))
38. Альтаир (Altair777) 04.05.11 16:40
(37)
alleh пишет:
так как его обычно наделяют админскими правами

обычно не означает всегда
у маленьких фирм, как правило, не бывает много ИБ, а в больших программист и администратор - это разные люди
39. Алексей (alleh) 04.05.11 16:42
(38)ну если думать логически: программист 1С должен иметь права редактировать список ИБ в окне запуска...редактируя список ИБ в окне запуска - идёт обращение именно к той ветви реестра, которую мы пользуем через батник...то есть - есть два варианта: или программист не может создавать новую иб, или батник будет работать...)) всё очень просто)
40. Альтаир (Altair777) 04.05.11 16:45
41. Ipse (Ipse) 31.05.11 13:54
У этого решения есть еще один плюс, о котором как-то все спорящие умолчали. "База с флешки", не оставляющая следов на локальном компе. Иногда это очень весомый плюс, перевешивающий даже некошерность использования баянистого решения, как тут пытались выступать некоторые граждане-догматы :)
42. Григорий Лалов (lals) 05.11.11 13:36
Ipse пишет:
У этого решения есть еще один плюс, о котором как-то все спорящие умолчали. "База с флешки",

и этот плюс перекрывает все те какашки которые тут накидали
43. Владимир Большов (BlueWind) 06.02.15 02:00
(5) Altair777, (37) alleh,
по поводу админских прав (ком.№5 "сработает ли этот способ если у пользователя нет прав администратора?").


Базы регистрируются в ветке HKEY_CURRENT_USER
Это "личная" ветка пользователя. У него есть все нужные права в ней. Администратора не надо..
44. Владимир Большов (BlueWind) 06.02.15 11:35
При тестировании скрипта столкнулся с ситуацией: перед стартом 1с база в реестре регистрируется, но при закрытии не удаляется.
Изыскания показали, что %CD% возвращает текущий путь без завершающего слэша - так параметр в реестр и записывается, например d:\work\000. 1с-ка же при запуске всем зарегистрированным базам по списку в реестре дописывает в конец слэш, если его там нет. Получается имя параметра в реестре: d:\work\000\. При закрытии 1с-а reg delete не находит параметр без завершающего слэша, и батник сообщает, что "Ошибка: Системе не удалось найти указанный раздел или параметр реестра". Так он в списке и зависает. Эксперимент проводился на Windows XP SP3, кстати.
Пробовал и вариант SET CurPath=%~dp0
В этом случае в переменной содержится текущий путь с завершающим слэшем. Но при выполнении reg add или вся ветка Titles удаляется, или параметр записывается с обрезанным имененем - завершающего слэша в нем нет, но есть кавычка.. В итоге выяснилось, что это команда REG очень капризна насчет завершающего слэша в имени параметра - она его съедает, а вместо него ставит то, что следует за ним в командной строке: кавычка - значит, кавычку вставит; параметры прочие - значит, параметры в имя сует.. Бред.. Интуитивно воткнул еще дополнительный слэш в конец, и - О, чудо! Оно заработало! Один слэш съедается, а один остается! ))) Вот такой рабочий вариант получился:

SET CurPath=%CD%
REG ADD HKCU\Software\1C\1Cv7\7.7\Titles /f /v "%CurPath%\\" /t REG_SZ /d tmpDB
START "Executed 1C" /WAIT "C:\Program Files\1Cv77\BIN\1cv7s.exe" config /D"%CurPath%"
REG DELETE HKCU\Software\1C\1Cv7\7.7\Titles /f /v "%CurPath%\\"

Зачем мне это вообще понадобилось? Я скажу.. В списке рабочих баз - штук 50, или 100.. или 150.. Много, вообщем. Altair777-у если сильно интересно, пусть посчитает.. Мне это количество до лампочки.. Но вот понадобилось вдруг просматривать множество посторонних баз. Регистрировать каждую через список баз 1с - всегда было как-то неприятно, а тут тем более.. И тут пригрезилось мне из Total commander открывать базу в текущей папке, просматривать, и закрывать ее без сохранения в списке. Вот и, спасибо, скриптик подходящий нашелся. )
Но, чтобы Тотал командер по кнопке открывал, нужно в батник параметр передавать с нужным каталогом базы. В связи с этим скрипт отлажен на кавычки в длинных путях и на слэш в конце, и расширен в итоге до такого вида:

:: Первый параметр - режим открытия 1c: enterprise, config, monitor, или debug
SET MODE=%1%

:: По умолчанию - режим Предприятие
IF "%MODE%"=="" SET MODE=Enterprise

:: Второй параметр - путь к базе. Удалить обрамляющие кавычки.
set CurPath=%~2%

:: По умолчанию - текущий каталог
IF "%CurPath%"=="" SET CurPath=%~dp0

:: Получить правый символ
set RightSymbol=%CurPath:~-1%

:: Завершить каталог базы слэшем справа, если его там нет
if not "%RightSymbol%"=="\" Set CurPath=%CurPath%\

If not exist "%CurPath%" goto :_Error_Path

:: Добавить параметр в реестр
REG ADD HKCU\Software\1C\1Cv7\7.7\Titles /f /v "%CurPath%\" /t REG_SZ /d tmpDB

:: Запуск 1с
Set Dir1c=%ProgramFiles%\1Cv77\BIN
Set Exe1c=%Dir1c%\1cv7s.exe
If not exist "%Exe1c%" Set Exe1c=%Dir1c%\1cv7.exe
If not exist "%Exe1c%" Set Exe1c=%Dir1c%\1cv7l.exe
If not exist "%Exe1c%" goto :_Error_1c

START "Executed 1C" /WAIT "%Exe1c%" %MODE% /D"%CurPath%"

:: Удалить параметр из реестра
REG DELETE HKCU\Software\1C\1Cv7\7.7\Titles /f /v "%CurPath%\"

goto :_Exit


:_Error
msg * "Invalid parameters"
goto :_Exit

:_Error_Path
msg * "Invalid path %CurPath%"
goto :_Exit

:_Error_1c
msg * "Not found 1c exe file in folder %Dir1c%"
goto :_Exit

:_Exit
Exit

::pause
...Показать Скрыть


Примеры запуска:
1. Открыть текущий каталог в режиме Предприятие
1cTempDbStarter
2. Открыть текущий каталог в режиме Конфигуратор
1cTempDbStarter config
3. Открыть произвольный каталог в режиме Монитор
1cTempDbStarter monitor "d:\work\Рога и копыта 2021"

И этот батник сконвертировал в exe. Экзешник положен в каталог BIN 1с-а. В Тотал командер добавлены на панель инструментов две кнопки - одна для запуска в режиме Предприятие, вторая для запуска конфигуратора.
На кнопке предприятия команда:
"C:\Program Files\1Cv77\BIN\1cTempDbStarter.exe" enterprise
Параметр:
"%P"

На кнопке конфигуратора команда:
"C:\Program Files\1Cv77\BIN\1cTempDbStarter.exe" config
Параметр:
"%P"

Теперь, находясь в любом каталоге, нажимаю кнопочку на панели инструментов - и вуаля! База открыта! Черного окна доса нет. Закрыл базу - удалилась из списка. )
Прикрепленные файлы:
1cTempDbStarter.zip
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа