PDA

Показать полную графическую версию : [решено] Как сделать вызов на ":B"?


DenisKA..
29-08-2014, 08:45
Прошу помощи, может ранее на форуме и было об этом, но..
Возникла проблема, начинаю потихоньку ознакамливаться с CMD\BAT и произошло такое:
Как сделать вызов к примеру на ":B"?
Пример

@echo off
chcp 1251
cls
:E
echo.
echo DenisKA
echo Запуск нужных сайтов и программ
echo Данная версия находится на стадии доработки!
echo.
echo 1) Сайты
echo 2) Программы
echo 3) Для программирования


echo.
echo Введите число
SET /p q=
if `%q%`==`2` call :A | echo Открыт список ваших сайтов
if `%q%`==`2` call :B | echo Открыт список ваших программ
if `%q%`==`3` call :C | echo Открыт список программ для программирования
goto E

:B
echo.
echo 1) Photoshop
echo 2) Браузер
echo 3) Torrent
echo 4) Steam
echo 5) Microsoft Word
echo 6) Назад

echo.
echo Введите число
SET /p q=
if `%q%`==`1` call "C:\Program Files\Adobe\Adobe Photoshop CS5\Photoshop.exe" | echo Вы открыли Photoshop
if `%q%`==`2` call start browser | echo Вы открыли Свой браузер по умолчанию!
if `%q%`==`3` call "C:\Users\DeN4iK86\AppData\Roaming\uTorrent\uTorrent.exe" | echo Вы открыли µTorrent
if `%q%`==`4` call "C:\Program Files\Steam\Steam.exe" | echo Вы открыли Steam!
if `%q%`==`5` call "C:\Program Files\Microsoft Office\Office12\WINWORD.exe" | echo Вы открыли Microsoft Office Word!
if `%q%`==`6` call :E | echo Вы вернулись назад.
goto B

Я сразу понял, что ошибка в:

if `%q%`==`2` call :A | echo Открыт список ваших сайтов

Как правильно написать это? Жду помощи.

Georgio
29-08-2014, 09:46
if "%q%"=="2" echo Открыт список ваших сайтов& call :A
if "%q%"=="2" echo Открыт список ваших программ& call :B
if "%q%"=="3" echo Открыт список программ для программирования& call :C

Сделать аналогично и в других подобных строках кода.

Iska
29-08-2014, 17:16
А ещё проще использовать «choice.exe» для выбора, процедуры в виде «:Sub1», «:Sub2» и т.д., и вызов в виде «call :Sub%ErrorLevel%».

А разные «echo Открыт список ваших сайтов», «Открыт список ваших программ» и т.п. должны быть внутри процедур.




© OSzone.net 2001-2012