Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+1

Не работает код в 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 в конец вашего скрипта, чтобы окно командной строки оставалось открытым после выполнения скрипта. Это позволит вам увидеть любые сообщения об ошибках, которые могут появиться.

Аватар пользователя
Просветленный
12345678910111213141516
 @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 для установки кодировки