Не работает в bat файле команда WAIT

1. zakkvanaxel 27 02.10.24 18:49 Сейчас в теме
Всем привет!

Я пытаюсь создать 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
По теме из базы знаний
Найденные решения
7. zakkvanaxel 27 03.10.24 15:16 Сейчас в теме
Все оказалось куда проще.
Я использовал пусть в виде %programfiles%\1cv8\common\1cestart.exe

А он запускает сразу другой экзешник. И поэтому батник не ждал уже дочерний процесс.

Нужно использовать путь в таком виде %programfiles%\1cv8\8.3.22.1923\bin\1cv8.exe

И тогда конструкция в виде start "" /wait %PATH_1C% прекрасно работает
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. independ 1551 02.10.24 19:31 Сейчас в теме
(1) можно не использовать start /wait, будет работать
5. zakkvanaxel 27 02.10.24 20:15 Сейчас в теме
(2)
можно не использовать start /wait, будет работать
пробовал, результата ноль. Может быть что-то напутал с кавычками. Есть рабочий пример?
6. user-z99999 71 03.10.24 11:07 Сейчас в теме
(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
Показать
3. redfred 02.10.24 19:50 Сейчас в теме
call вместо start /wait не спасет?
4. user1880116 02.10.24 19:55 Сейчас в теме
(3)
call вместо start /wait не спасет?
Вот сразу видно знатока bat и cmd файлов! Уважаю таких советчиков!
7. zakkvanaxel 27 03.10.24 15:16 Сейчас в теме
Все оказалось куда проще.
Я использовал пусть в виде %programfiles%\1cv8\common\1cestart.exe

А он запускает сразу другой экзешник. И поэтому батник не ждал уже дочерний процесс.

Нужно использовать путь в таком виде %programfiles%\1cv8\8.3.22.1923\bin\1cv8.exe

И тогда конструкция в виде start "" /wait %PATH_1C% прекрасно работает
8. nomad_irk 76 03.10.24 15:17 Сейчас в теме
(7) да, да, и при обновлении платформы не забыть обновить батник......
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот