PDA

Показать полную графическую версию : [решено] Чтобы не закрывался


Jokerxman
30-03-2015, 12:25
Вот мой код
@echo off
echo 1 - Блокнот
echo 2 - Калькулятор
echo 3 - Рисовалка
echo 4 - Выход
set /p sym=Вариант:


if "%sym%"=="1" (start notepad.exe)
if "%sym%"=="2" (start calc.exe)
if "%sym%"=="3" (start mspaint.exe)
if "%sym%"=="4" (exit)

pause

Как сделать так, чтобы если команда правильная, он бат файл закрывал и открыл что нужно, а если команда не верная не писал "нажмите любую кнопку....", а писал "не верная команда, введите другую команду" .
Как сделать это?

Foreigner
30-03-2015, 13:41
Jokerxman,

@echo off
setlocal

:again

echo 1 - Блокнот
echo 2 - Калькулятор
echo 3 - Рисовалка
echo 4 - Выход
set /p sym=Вариант:

if not defined sym (echo попробуй еще раз & goto:again)

if "%sym%"=="1" (start notepad.exe & exit)
if "%sym%"=="2" (start calc.exe & exit)
if "%sym%"=="3" (start mspaint.exe & exit)
if "%sym%"=="4" (exit)

echo попробуй еще раз
goto:again

Jokerxman
30-03-2015, 13:59
спасибо, всё получилось.

А такой вопрос еще, а как сделать отступ в bat файле?

Что-то вроде типо такогоПриветы

Хай

Georgio
30-03-2015, 14:18
@echo off
echo Приветы
echo.
echo Хай
pause

Jokerxman
30-03-2015, 14:39
всё, спасибо закрывайте.

leks71
30-03-2015, 15:54
Немного косметики ;)
@echo off
setlocal

:again

cls

echo 1 - Блокнот
echo 2 - Калькулятор
echo 3 - Рисовалка
echo 4 - Выход
set /p sym=Вариант:

if not defined sym (echo попробуй еще раз & goto:again)

if "%sym%"=="1" (start notepad.exe & exit)
if "%sym%"=="2" (start calc.exe & exit)
if "%sym%"=="3" (start mspaint.exe & exit)
if "%sym%"=="4" (exit)

echo.
echo.
echo попробуй еще раз
echo.
echo.
pause
goto:again

Jokerxman
06-04-2015, 16:59
Всё работает всё норм, ну вот почему
"%sym%"=="1" »
пишется в процентах ковычках и почему 2 равно? Дословно всё обьяснить можете? Пытался отмазаться что-то "синтаксиз выполениня такой или так принята команду выполнять или присваиваем к цифре 1 всё это" такое не прокатило... пытался вроде такого еще насочинять не удалось.
Так вот можете, дать точный ответ на этот вопрос?

Foreigner
06-04-2015, 17:28
Jokerxman,

1. Так раскрываются переменные
2. Оператор сравнения


set /?
if /?

Jokerxman
07-04-2015, 21:32
я посмотрел и всё равно не понял.. можете обьяснить как нить ?

Foreigner
07-04-2015, 22:02
Jokerxman, Загляните в шапку раздела, там много полезного.

Jokerxman
07-04-2015, 22:57
посмотрел, ну то что мне нужно было я не нашел....




© OSzone.net 2001-2012