imho.ws |
![]() |
![]() |
|
Сообщения:
Перейти к новому /
Последнее
|
Опции темы |
![]() |
# 1 |
Junior Member
Регистрация: 01.05.2005
Сообщения: 65
![]() |
bat файл для установки 1с на разные версии windows
Привет!
Крч появилось задание написать батник для подкидывания его в групповые политики, чтоб автоматом разворачивалась 1С. Казалось бы ничего особого, но в организации есть W7 и XP У меня получилась следующая штука: set dir=с:\Program Files (x86)\1cv8\8.3.12.1714\ExtDst If Exist "C:\Program Files (x86)\1cv8\8.3.12.1714\ExtDst" ( goto end set dir=с:\Program Files\1cv8\8.3.12.1595\ExtDst If Exist "C:\Program Files\1cv8\8.3.12.1595\ExtDst" ( goto end ) Else ( Echo Папки %computername% нет "\\сервер\distrib\1c\v8.3\8.3.13.1644\1CEnterprise 8.msi" /qr TRANSFORMS=adminstallrelogon.mst;1049.mst DESIGNERALLCLIENTS=1 THICKCLIENT=1 THINCLIENTFILE=1 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 exit ) :end pause exit Все правильно сделал? Или лучше два разных файла и две разных политики и в них указать отдельно машины с разными системами? Мне нужно как лучше и эффективней
__________________
Владение русской орфографией - это как владение кунг-фу, настоящие мастера не применяют его без необходимости © Ad |
![]() |
![]() |
# 2 | ||
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 478
![]() |
Surayu
Конструкция несколько громоздкая, но ошибок (на первый взгляд) не вижу. (Сразу скажу - правильность команды установки 1С оценивать не могу, не сталкивался). Я бы сделал несколько по-другому: Код:
@echo OFF if /I "%PROCESSOR_ARCHITECTURE%" == "x86" ( set "TARGETDIR=с:\Program Files\1cv8\8.3.12.1714\ExtDst" ) else ( set "TARGETDIR=с:\Program Files (x86)\1cv8\8.3.12.1714\ExtDst" ) pushd "%TARGETDIR%" && goto :INSTALLED "\\сервер\distrib\1c\v8.3\8.3.13.1644\1CEnterprise 8.msi" /qr TRANSFORMS=adminstallrelogon.mst;1049.mst DESIGNERALLCLIENTS=1 THICKCLIENT=1 THINCLIENTFILE=1 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 goto :EOF :INSTALLED echo Папка "%TARGETDIR%" уже существует. Выход без установки программы. pause goto :EOF
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий Последний раз редактировалось Borland; 03.09.2019 в 01:02. Причина: коммент |
||
![]() |
![]() |
# 3 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 478
![]() |
Есть маленькая тонкость с определением разрядности ОС: значение переменной окружения "PROCESSOR_ARCHITECTURE" зависит от разрядности командного процессора (cmd.exe). В принципе, "по умолчанию" в x64-системе cmd-скрипты запускаются именно в 64-битном cmd.exe (C:\Windows\System32\cmd.exe). Но мало ли что... К примеру, если запускать скрипт из-под 32-битного файл-менеджера (FAR, Total Commander и т.п.), то будет запущена именно 32-битный командный процессор (C:\Windows\SysWOW64\cmd.exe). Соответственно, разрядность ОС будет определена неверно...
Точно опеределить разрядность системы можно с использованием wmic: Код:
(wmic path Win32_processor get AddressWidth| 1>nul 2>&1 find /i "64") && set "TARGETDIR=с:\Program Files (x86)\1cv8\8.3.12.1714\ExtDst" || set "TARGETDIR=с:\Program Files\1cv8\8.3.12.1714\ExtDst" Код:
@echo OFF (wmic path Win32_processor get AddressWidth| 1>nul 2>&1 find /i "64") && ( set "TARGETDIR=с:\Program Files (x86)\1cv8\8.3.12.1714\ExtDst" ) || ( set "TARGETDIR=с:\Program Files\1cv8\8.3.12.1714\ExtDst" ) pushd "%TARGETDIR%" && goto :INSTALLED "\\сервер\distrib\1c\v8.3\8.3.13.1644\1CEnterprise 8.msi" /qr TRANSFORMS=adminstallrelogon.mst;1049.mst DESIGNERALLCLIENTS=1 THICKCLIENT=1 THINCLIENTFILE=1 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 goto :EOF :INSTALLED echo Папка "%TARGETDIR%" уже существует. Выход без установки программы. pause goto :EOF
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
![]() |