Быстрый запуск "Консоли администрирования 1С" любой версии (через bat файл)


Если у Вас на серверах более одной версии платформы 1С, то наверняка приходилось иногда перерегистрировать «Консоли администрирования 1С», чтобы открыть нужную версию. Для решения этой задачи сделал bat-файл, который находит все установленные на компьютер версии «консолей администрирования 1С» и после выбора нужной, запускает ее.

Для запуска консоли нужно:

  1. Запустить скрипт от имени администратора (нажать правой клавишей мыши на bat файле и выбрать пункт "Запуск от имени администратора");
  2. В окне будут показаны все версии установленных консолей администрирования 1С. Пользователь вводит номер строки с нужной версией и нажимает Enter;
  3. После этого скрипт регистрирует новую версию консоли и запускает ее.
     

Скрипт тестировал в Windows 7.
Подходит для платформ 1С 8.3, 8.4, версии х86 и х64.
Можно запускать консоли разных версий параллельно.

Важно:

  • У пользователя, под которым запускается bat файл, должны быть права на регистрацию консоли с помощью утилиты "regsvr32";
  • Все платформы 1С должны быть установлены в каталоги по умолчанию ("C:Program Files (x86)1cv8" и/или "C:Program Files1cv8"). При необходимости, путь легко изменить.

P.S. Не могу гарантировать, что заработает у всех. Но если консоль успешно регистрируется стандартным способом (запуск "C:Program Files (x86)1cv88.*.*.*inRegMSC.cmd"), то и мой скрипт будет работать.

P.P.S. Скрипт написал, т.к. надоело создавать отдельные ярлыки для регистрации каждой версии консоли по мере установки новых платформ 1С.

UPD: Добавлена поддержка х64 версий

13 Comments

  1. YannikAlx

    Непонятно только зачем за стартмани…

    Это что суперразработка?

    @echo off

    start /wait regsvr32 /s «C:Program Files (x86)1cv88.3.12.1616in
    admin.dll»

    start «C:WindowsSystem32mmc.exe» «C:Program Files (x86)1cv8common1CV8 Servers.msc»

    Или с параметром номера версии

    @echo off

    start /wait regsvr32 /s «C:Program Files (x86)1cv8\%1in
    admin.dll»

    start «C:WindowsSystem32mmc.exe» «C:Program Files (x86)1cv8common1CV8 Servers.msc»

    Reply
  2. morozov.sv

    Скрипт это делает удобнее: проверяет какие версии установлены и предлагает их на выбор

    Reply
  3. 7OH

    А если есть 64 параллельно — найдёт ?

    Reply
  4. morozov.sv

    (3) Должен найти. Ограничений на количество установленных версий нет.

    Почему-то нельзя опубликовать файл бесплатно.

    Вот исходный код:

    @echo off
    setlocal EnableDelayedExpansion
    
    set Path=C:Program Files (x86)1cv8\r
    set /a num=0
    
    cd %Path%
    
    for /d %%d in («8.*») do (
    if exist %%din
    admin.dll (
    echo !num!. %%d
    set myarray[!num!]=%%din
    admin.dll
    set /a num+=1
    
    rem // Удалить прежнюю регистрацию
    start /wait regsvr32 /u /s «%Path%%%din
    admin.dll»
    )
    )
    
    set /P num_curr=»Select platform version (enter line number): »
    
    rem // Зарегистрировать новую версию
    start /wait regsvr32 «%Path%!myarray[%num_curr%]!» /s
    
    rem // Запуск
    start mmc «%Path%common1CV8 Servers.msc»

    Показать

    Reply
  5. 7OH

    (4)

    Почему-то нельзя опубликовать файл бесплатно

    Я тоже этот вопрос админам задавал не раз.

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

    Reply
  6. Bukaska

    (4)Только если у Вас товар за рубли в магазине, то тогда можно файлы инструкций и демоматериалы сделать за бесплатно. Если у Вас товар за стартмани, то как там уже на бесплатный файл не поменять.

    Reply
  7. 7OH

    Запускаю и пустой список

    Reply
  8. morozov.sv

    (7) Возможно, для этих версий не установлены консоли. Нужно проверить наличие файлов «in
    admin.dll» в папках вида «8.3.*.*»

    Reply
  9. 7OH

    (8) походу проблема из-за запуска с другого диска.

    команды cd в данном случае мало, система каталог меняет но остаётся на текущем диске.

    Есть можность поправить ?

    Сам пока ищу как извлечь последний каталог из найденного пути — вот так что-то нашло «for /d %%d in («%Path%8.*») do («

    Reply
  10. morozov.sv

    (9) У меня ситуация не воспроизводиться. Можно попробовать так (в строку «cd /d %Path%» добавил ключ /d):

    @echo off
    setlocal EnableDelayedExpansion
    
    set Path=C:Program Files (x86)1cv8\r
    set /a num=0
    
    cd /d %Path%
    
    for /d %%d in («8.*») do (
    if exist %%din
    admin.dll (
    echo !num!. %%d
    set myarray[!num!]=%%din
    admin.dll
    set /a num+=1
    
    rem // Удалить прежнюю регистрацию
    start /wait regsvr32 /u /s «%Path%%%din
    admin.dll»
    )
    )
    
    set /P num_curr=»Select platform version (enter line number): »
    
    rem // Зарегистрировать новую версию
    start /wait regsvr32 «%Path%!myarray[%num_curr%]!» /s
    
    rem // Запуск
    start mmc «%Path%common1CV8 Servers.msc»

    Показать

    Reply
  11. 7OH

    (10) Спасибо — так вышло.

    Ну и мелочь — регистрацию возможно лучше снимать ПОСЛЕ выбора, если таковой будет сделан.

    У себя просто убрал снятие регистрации — работает и так.

    Reply
  12. morozov.sv

    (11) Согласен. Теперь регистрация снимается после выбора.

    @echo off
    setlocal EnableDelayedExpansion
    
    set Path=C:Program Files (x86)1cv8\r
    set /a num=0
    
    cd /d %Path%
    
    for /d %%d in («8.*») do (
    if exist %%din
    admin.dll (
    echo !num!. %%d
    set myarray[!num!]=%%din
    admin.dll
    set /a num+=1
    )
    )
    
    set /P num_curr=»Select platform version (enter line number): »
    
    for /d %%d in («8.*») do (
    if exist %%din
    admin.dll (
    rem // Удалить прежнюю регистрацию
    start /wait regsvr32 /u /s «%Path%%%din
    admin.dll»
    )
    )
    
    rem // Зарегистрировать новую версию
    start /wait regsvr32 «%Path%!myarray[%num_curr%]!» /s
    
    rem // Запуск
    start mmc «%Path%common1CV8 Servers.msc»

    Показать

    Reply
  13. 7OH

    (12) С вашего позволения ещё пару моментов:

    1. Зачем ещё раз искать для удаления (мы же сохранили все найденные в массив) ?

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

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *