Quantcast
Channel: Batch – Dawid Sobieraj
Viewing all articles
Browse latest Browse all 4

Choice: Proste menu w batch ? – Nic trudnego :-)

0
0

Chciałbym przedstawić jak używać instrukcji choice do stworzenia prostego menu.
Przy okazji opiszę kilka innych komend. O co chodzi w menu ?
Wybieramy interesującą nas liczbe/litere [ w menu ]
Po wcisnięciu nasz program wykonuje zadane mu polecenie.

Na początek trzeba przemyśleć sprawe, jak ma wyglądać menu, i z ilu opcji się składać.
Moje menu będzie zawierało 7 opcji :

1.Stwórz plik leave.txt
2.Zmień rozszerzenie pliku leave.txt na leave.bak
3.Usuń plik leave.txt
4.Usuń plik leave.bak
5.Uruchom kalkulator
6.Czyść ekran
7.Zakończ

Trzeba zacząć od tego jak składa się instrukcja choice:
Choice /C:12345Q /N /T:Q,30
Choice /C: Odpowiedzi /Parametry
Jeśli dodamy do choice parametr N to odpowiedzi ( 12345Q) nie zostaną wyświetlone.
Parametr T przyjmuje że po 30 sekundach bezczynności zostanie wybrana odpowiedź domyślna,
czyli Q.

Do zrobienia menu potrzebna będzie nam jeszcze instrukcja warunkowa:

if errorlevel kod_wyjscia komenda

Jak jej używamy pokaże na przykładzie.

Przejdźmy teraz do samej akcji, czyli menu :)

Kod źródłowy:

@echo off
 
:START
cls
echo ------------------------
echo ------------------------
echo [ 1 ].Stworz plik leave.txt
echo [ 2 ].Zmien rozszerzenie pliku leave.txt na leave.bak
echo [ 3 ].Skasuj plik leave.txt
echo [ 4 ].Skasuj plik leave.bak
echo [ 5 ].Uruchom Kalkulator
echo [ 6 ].Czysc ekran
echo [ 7 ].Zakoncz
echo --------------------------
echo --------------------------
CHOICE /C:1234567 /N
 
IF ERRORLEVEL 7 GOTO Zakoncz
IF ERRORLEVEL 6 GOTO Czysc
IF ERRORLEVEL 5 GOTO Kalkulator
IF ERRORLEVEL 4 GOTO KASUJ2
IF ERRORLEVEL 3 GOTO KASUJ
IF ERRORLEVEL 2 GOTO ZMIANA
ECHO Tworze plik leave.txt / Nacisnij ctrl+z
COPY CON LEAVE.TXT
If exist leave.txt echo Plik utworzono
if not exist leave.txt echo Blad! Nie utworzono pliku.
pause
GOTO START
 
:ZMIANA
 
if not exist leave.txt echo Brakuj pliku leave.txt - Operacja przerwana!
if exist leave.txt goto Zmiana2
pause
GOTO START
:Zmiana2
xcopy leave.txt leave.bak
if exist leave.bak echo Plik leave.txt > leave.bak utworzono! - Operacja wykonana poprawnie.
if not exist leave.bak echo Blad!
pause
GOTO START
 
:Kasuj
if not exist leave.txt echo Brak pliku! Blad!
if exist leave.txt goto Kasowanie
pause
GOTO START
:Kasowanie
del leave.txt
if not exist leave.txt echo Skasowano!
pause
GOTO START
 
:Kasuj2
if not exist leave.bak echo Brak pliku! Blad!
if exist leave.bak goto Kasowanie2
pause
GOTO START
:Kasowanie2
del leave.bak
if not exist leave.bak echo Skasowano!
pause
GOTO START
 
:Kalkulator
echo Uruchamiam kalkulator..
calc
GOTO START
 
:Czysc
cls
echo Ekran wyczyszczono!
pause
GOTO START
 
:Zakoncz
exit

Uwaga!
Instrukcja CHOICE nie będzie nam działać jeśli posiadamy system Windows Xp (wzwyż)
Została ona usunięta, ale jest na to rada ;) Należy do katalogu Windows wgrać plik choice.com
Plik choice.com można również skopiować z systemu Windows 98.

Aby stworzyć naszego *.bat musimy kod źródłowy wkleić do notatnika następnia z menu wybrać zapisz jako,
i wpisać nazwa_pliku.bat, wybrać ponizej „wszystkie pliki”.Następnie wybrać lokalizacje, i zapisać plik.

Moje menu po poprawnym utworzeniu wygląda tak :

Powodzenia :)


Viewing all articles
Browse latest Browse all 4

Latest Images

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Vimeo 10.6.2 by Vimeo.com, Inc.

Vimeo 10.6.2 by Vimeo.com, Inc.

Vimeo 10.6.1 by Vimeo.com, Inc.

Vimeo 10.6.1 by Vimeo.com, Inc.

Vimeo 10.6.0 by Vimeo.com, Inc.

Vimeo 10.6.0 by Vimeo.com, Inc.

Re:

Re:





Latest Images

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Vimeo 10.6.1 by Vimeo.com, Inc.

Vimeo 10.6.1 by Vimeo.com, Inc.

Vimeo 10.6.0 by Vimeo.com, Inc.

Vimeo 10.6.0 by Vimeo.com, Inc.

Re:

Re:

Re:

Re: