Имя: Пароль:
1C
1С v8
Как сделать bat-файл для пакетного обновления, который нельзя закрыть?
0 Karambol
 
21.10.13
17:34
Добрый день!
Для автоматизации обновления конфигурации у меня формируется и запускается bat-файл, который делает резервную копию и обновляет конфигурацию. В этот момент перед пользователем предстает черное окно cmd, с написанными командами. Это окно пользователь может в любой момент закрыть, чем прервет выполнение команд. Можно ли сделать запуск bat-файла таким образом, чтобы пользователь не мог его закрыть?
1 Maxus43
 
21.10.13
17:41
я непонимаю только зачем это делается на компе юзера, а не на сервере
2 Karambol
 
21.10.13
17:46
(1)Есть несколько файловых баз на разных машинах с одинаковой структурой, их нужно обновлять.
3 Кай066
 
21.10.13
17:47
Дай ка файлик посмотреть

Kay066(a)gmail.com
4 Wobland
 
21.10.13
17:47
зачем так мелко мыслишь? как запретить пользователю выдёргивать вилку из розетки - вот вопрос
5 тшл
 
21.10.13
17:47
а vbs-ки если использовать
6 Fedor-1971
 
21.10.13
17:56
Использовать шедулер винды от другого пользователя, например, от админа, юзер окна архивирования не увидит.
А вот что будет если пользователь в это время работает в 1С? Гнутое обновление и гнутая копия или этот вопрос как-то регламентирован?
7 Maxus43
 
21.10.13
17:58
ECHO "НЕ ЗАКРЫВАТЬ ОКНО"
8 Karambol
 
21.10.13
17:59
(3)Ушло
(4)Ну, на это я повлиять не в силе ))
(5)Хорошая идея, надо попробовать
(6)Обновление будет только при начале и при завершении работы системы. В базе сидит только один пользователь.
9 Кай066
 
21.10.13
17:59
(6) я думаю пользователя выкидывают
10 Aleksey
 
21.10.13
17:59
да через скрипт
11 Voronve
 
21.10.13
18:00
(8) Терминал не предлагать ?
12 Aleksey
 
21.10.13
18:02
Set sh = CreateObject("WScript.Shell")

sh.Run "скрипт.cmd",0, True

Синтаксис:

Run(<Command>,<WindowStyle>,<WaitOnReturn>)

Назначение: создаёт новый независимый процесс, который запускает заданное приложение.

Параметры:

    <Command> - строка, командная строка запуска приложения.
    <WindowStyle> - необязательный, число. Определяет вид окна запускаемого приложения. Некоторые возможные значения:
        0 - Не отображает окно.
        1 - Активизирует и отображает окно.
        2 - Активизирует окно и отображает его в свёрнутом виде.
        3 - Активизирует окно и отображает его в максимизированном виде.
    <WaitOnReturn> - необязательный, булево (число). True - сценарий возобновит работу только после завершения вызванного процесса. False (по умолчанию) - управление передаётся сразу обратно в сценарий.

Описание: если параметр "WaitOnReturn" установлен в True, метод возвращает код выхода вызванного приложения. Иначе метод всегда возвращает ноль.

Пример:

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "explorer /e,/root,""C:\Program Files"""

Другой пример:

Set WshShell = CreateObject("WScript.Shell")
RetCode = WshShell.Run("notepad", 1, True)
MsgBox "Обработка завершена! Код возврата - " & RetCode
13 Karambol
 
21.10.13
18:04
(11)Нет, базы не связаны.
14 Karambol
 
21.10.13
18:05
(12)Спасибо, буду пробовать
15 Karambol
 
21.10.13
18:06
(12)А команды будут выполняться последовательно? Т.е., к примеру:
1.Завершить работу пользователей;
2.Сделать бекап;
2.Загрузить конфигурацию;
16 smaharbA
 
21.10.13
18:08
можно
Программист всегда исправляет последнюю ошибку.