

Не работает код в bat
Написал скрипт простенький для тихой установки, а при запуска командная строка сразу вылетает, в чём может быть проблема? Если убрать надпись и оставить только последнюю строчку со start то работает
@echo off
color 4
echo
echo _ _ __ _ _ _ _ _ _
echo | | | | / _| (_) | | (_) (_) | | (_)
echo __ _| |__ __ _| |_| |_ ___ _ __ _ __ _ _ __ ___ ___ _ __ | |_ _ _ __ ___ _ ______ _| |_ _ ___ _ __
echo \ \ /\ / / '_ \ / _` | __| _/ _ \| '__| |/ _` | '_ ` _ \ / _ \| '_ \| __| | '_ ` _ \| |_ / _` | __| |/ _ \| '_ \
echo \ V V /| | | | (_| | |_| || (_) | | | | (_| | | | | | | | (_) | |_) | |_| | | | | | | |/ / (_| | |_| | (_) | | | |
echo \_/\_/ |_| |_|\__,_|\__|_| \___/|_| |_|\__,_|_| |_| |_| \___/| .__/ \__|_|_| |_| |_|_/___\__,_|\__|_|\___/|_| |_|
echo | |
echo |_|
echo
cd %~dp0
start /w setup.exe /VERYSILENT /NORESTART

Ваш скрипт выглядит правильно, но есть несколько возможных причин, по которым он может не работать:
1. Путь к файлу: Убедитесь, что setup.exe находится в той же директории, что и ваш скрипт. Команда cd %~dp0 изменяет текущую директорию на ту, где находится ваш bat-файл.
2. Права доступа: Убедитесь, что у вас есть необходимые права для запуска setup.exe. Возможно, вам придется запустить скрипт с правами администратора.
3. Параметры командной строки: Убедитесь, что параметры /VERYSILENT /NORESTART поддерживаются вашим setup.exe. Некоторые установщики могут использовать разные параметры для тихой установки или предотвращения перезагрузки.
Если вы все еще столкнетесь с проблемами, попробуйте запустить setup.exe /VERYSILENT /NORESTART напрямую из командной строки, чтобы увидеть, возникают ли какие-либо ошибки. Это может помочь вам лучше понять проблему.
Также вы можете добавить pause в конец вашего скрипта, чтобы окно командной строки оставалось открытым после выполнения скрипта. Это позволит вам увидеть любые сообщения об ошибках, которые могут появиться.
@echo off
chcp 1251
color 4
echo
echo _ _ __ _ _ _ _ _ _
echo | | | | / _| (_) | | (_) (_) | | (_)
echo __ _| |__ __ _| |_| |_ ___ _ __ _ __ _ _ __ ___ ___ _ __ | |_ _ _ __ ___ _ ______ _| |_ _ ___ _ __
echo \ \ /\ / / '_ \ / _` | __| _/ _ \| '__| |/ _` | '_ ` _ \ / _ \| '_ \| __| | '_ ` _ \| |_ / _` | __| |/ _ \| '_ \
echo \ V V /| | | | (_| | |_| || (_) | | | | (_| | | | | | | | (_) | |_) | |_| | | | | | | |/ / (_| | |_| | (_) | | | |
echo \_/\_/ |_| |_|\__,_|\__|_| \___/|_| |_|\__,_|_| |_| |_| \___/| .__/ \__|_|_| |_| |_|_/___\__,_|\__|_|\___/|_| |_|
echo | |
echo |_|
echo
cd %~dp0
start /w setup.exe /VERYSILENT /NORESTART
pause
возможно, проблема заключается в том, что командная строка закрывается сразу после выполнения скрипта. Это может происходить, если в скрипте отсутствует команда паузы до нажатия клавиши пользователем
Чтобы исправить эту проблему, можно добавить команду pause в конце скрипта. Она заставит командную строку ожидать нажатия клавиши перед закрытием
Также, возможно, проблема связана с кодировкой скрипта. Если скрипт написан в кодировке, отличной от ANSI, то командная строка может некорректно обрабатывать его содержимое
В этом случае, нужно сохранить скрипт в кодировке ANSI или добавить в начало скрипта строку chcp 1251 для установки кодировки