Не работает в bat файле команда WAIT
Всем привет!
Я пытаюсь создать bat файл, который будет обновлять конфигурацию из файла cf и применять её. Однако, когда я запускаю файл, одновременно запускается два экземпляра приложения, и первый экземпляр блокирует работу второго.
Подскажите, пожалуйста, как заставить командный файл дождаться завершения первой команды и только потом выполнять вторую? Буду очень признателен за помощь!
Вот скрипт:
:: Обновление из файла Обновление1С.CF
echo Выполнение обновления из файла %CF_FILE%...
start "" /wait %PATH_1C% CONFIG /F%PATH_DB% /N%USERNAME% /P%PASSWORD% /LoadCfg%CF_FILE% -WarningsAsErrors"
:: Приминение изменений конфигурации
echo Приминение изменений конфигурации...
rem START "" /wait %PATH_1C% CONFIG /F%PATH_DB% /N%USERNAME% /P%PASSWORD% /UpdateDBCfg -WarningsAsErrors
GOTO END
Я пытаюсь создать bat файл, который будет обновлять конфигурацию из файла cf и применять её. Однако, когда я запускаю файл, одновременно запускается два экземпляра приложения, и первый экземпляр блокирует работу второго.
Подскажите, пожалуйста, как заставить командный файл дождаться завершения первой команды и только потом выполнять вторую? Буду очень признателен за помощь!
Вот скрипт:
:: Обновление из файла Обновление1С.CF
echo Выполнение обновления из файла %CF_FILE%...
start "" /wait %PATH_1C% CONFIG /F%PATH_DB% /N%USERNAME% /P%PASSWORD% /LoadCfg%CF_FILE% -WarningsAsErrors"
:: Приминение изменений конфигурации
echo Приминение изменений конфигурации...
rem START "" /wait %PATH_1C% CONFIG /F%PATH_DB% /N%USERNAME% /P%PASSWORD% /UpdateDBCfg -WarningsAsErrors
GOTO END
По теме из базы знаний
- Конфигурация для отключения зависших сеансов пользователей при резервном копировании, обновлении конфигурации узла распределенной клиент-серверной базы 8.2, 8.3
- Автообновление нескольких распределенных удаленных баз, личный опыт
- Мониторинг SQL Server с помощью Extended Events (и не только) для 1С. Как держать руку на пульсе?
- Собираем образ виртуальной машины с PostgreSQL и платформой 1С. Цикл "Многопоточный CI для 1С c Packer, Vagrant и Jenkins", часть 2
- Создание установщика из любых файлов в Inno Setup
Найденные решения
Все оказалось куда проще.
Я использовал пусть в виде %programfiles%\1cv8\common\1cestart.exe
А он запускает сразу другой экзешник. И поэтому батник не ждал уже дочерний процесс.
Нужно использовать путь в таком виде %programfiles%\1cv8\8.3.22.1923\bin\1cv8.exe
И тогда конструкция в виде start "" /wait %PATH_1C% прекрасно работает
Я использовал пусть в виде %programfiles%\1cv8\common\1cestart.exe
А он запускает сразу другой экзешник. И поэтому батник не ждал уже дочерний процесс.
Нужно использовать путь в таком виде %programfiles%\1cv8\8.3.22.1923\bin\1cv8.exe
И тогда конструкция в виде start "" /wait %PATH_1C% прекрасно работает
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
@echo off
:: Пример использования:: Некоторые действия
echo Сейчас %time:~0,-3%
:: пауза на 15 секунд
call :sleep 15
:: Другие действия
echo Сейчас %time:~0,-3%
pause
goto :EOF
:sleep
echo Пауза на %1 секунд...
set /a ftime=100%time:~6,-3%%%100+%1
if %ftime% GEQ 60 set /a ftime-=60
:loop
set ctime=%time:~6,-3%
if /i %ftime% NEQ %ctime% goto :loop
exit /b 0
Показать
Все оказалось куда проще.
Я использовал пусть в виде %programfiles%\1cv8\common\1cestart.exe
А он запускает сразу другой экзешник. И поэтому батник не ждал уже дочерний процесс.
Нужно использовать путь в таком виде %programfiles%\1cv8\8.3.22.1923\bin\1cv8.exe
И тогда конструкция в виде start "" /wait %PATH_1C% прекрасно работает
Я использовал пусть в виде %programfiles%\1cv8\common\1cestart.exe
А он запускает сразу другой экзешник. И поэтому батник не ждал уже дочерний процесс.
Нужно использовать путь в таком виде %programfiles%\1cv8\8.3.22.1923\bin\1cv8.exe
И тогда конструкция в виде start "" /wait %PATH_1C% прекрасно работает
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот