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