Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не работает код в bat

whatforiam Ученик (183), на голосовании 1 год назад
Написал скрипт простенький для тихой установки, а при запуска командная строка сразу вылетает, в чём может быть проблема? Если убрать надпись и оставить только последнюю строчку со 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
Голосование за лучший ответ
Татьяна Просветленный (36384) 1 год назад
 @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 для установки кодировки
whatforiamУченик (183) 1 год назад
не помогло
Татьяна Просветленный (36384) whatforiam, возможно, проблема заключается в том, что командная строка закрывается сразу после выполнения скрипта. Это может происходить, если в скрипте отсутствует команда паузы до нажатия клавиши пользователем Чтобы исправить эту проблему, можно добавить команду pause в конце скрипта. Она заставит командную строку ожидать нажатия клавиши перед закрытием Также, возможно, проблема связана с кодировкой скрипта. Если скрипт написан в кодировке, отличной от ANSI, то командная строка может некорректно обрабатывать его содержимое В этом случае, нужно сохранить скрипт в кодировке ANSI или добавить в начало скрипта строку chcp 1251 для установки кодировки
Sergio 2.1 Оракул (67493) 1 год назад
Ваш скрипт выглядит правильно, но есть несколько возможных причин, по которым он может не работать:

1. Путь к файлу: Убедитесь, что setup.exe находится в той же директории, что и ваш скрипт. Команда cd %~dp0 изменяет текущую директорию на ту, где находится ваш bat-файл.

2. Права доступа: Убедитесь, что у вас есть необходимые права для запуска setup.exe. Возможно, вам придется запустить скрипт с правами администратора.

3. Параметры командной строки: Убедитесь, что параметры /VERYSILENT /NORESTART поддерживаются вашим setup.exe. Некоторые установщики могут использовать разные параметры для тихой установки или предотвращения перезагрузки.

Если вы все еще столкнетесь с проблемами, попробуйте запустить setup.exe /VERYSILENT /NORESTART напрямую из командной строки, чтобы увидеть, возникают ли какие-либо ошибки. Это может помочь вам лучше понять проблему.

Также вы можете добавить pause в конец вашего скрипта, чтобы окно командной строки оставалось открытым после выполнения скрипта. Это позволит вам увидеть любые сообщения об ошибках, которые могут появиться.
whatforiamУченик (183) 1 год назад
Всё это пробовал. Если убрать строки echo, то всё работает. Я пришёл к выводу что такие символы не поддерживаются командной строкой, поскольку если написать текст другими символами, например #, то всё работает. pause в конце не помогает, все права есть.
Похожие вопросы