Proste menu wyboru w Batchu


 

Dla wszystkich, którzy jeszcze nie przesiedli się z Wiersza Poleceń na Powershell (a śmiem stwierdzić że 100% zamiana CMD na PS pewnie nigdy nie dojdzie do skutku) mam kolejna prostą, acz przydatną sztuczkę. Jeżeli mamy w swoim zestawie garść plików wsadowych, lub uruchamiamy często te same sekwencje poleceń, być może warto ułatwić sobie nieco prace i zbudować Plik Wsadowy, który nas zapyta o to, co checmy wykonać, wykona to i zapyta ponownie. Ot menu wyboru które, zbliży nas o krok do pracy w GUI :)

Oto treść przykładowego pliku bat z menu wielokrotnego wyboru:

@echo off
:poczatek
cls
echo ———————————————–
echo Wybierz z listy
echo ———————————————–
echo.
echo 1) Kasowanie starych profili
echo 2) Kasowanie plikow tymczasowych
echo 3) Defragmentacja
echo 4) KONIEC
echo.
set /p opcja=wybierz:
if %opcja%==1 goto opcja1
if %opcja%==2 goto opcja2
if %opcja%==3 goto opcja3
if %opcja%==4 exit
goto zly_wybor
:opcja1
cls
echo wybrano Kasowanie starych profili
pause
goto poczatek
:opcja2
cls
echo wybrano Kasowanie plikow tymczasowych
pause
goto poczatek
:opcja3
cls
echo wybrano Defragmentacje
pause
goto poczatek
:zly_wybor
echo OPCJA NIE ZNANA.. WYBIERZ PONOWNIE!
pause
goto poczatek

Mam w zwyczaju zapętlać swoje niektóre skrypty, aby wyjście z nich było na moje własne życzenie. Odpowiada za to fragment „if %opcja%==4 exit”.
Lubię też uodpornić skrypt na pomyłki lub próby kombinowania, dlatego, gdy ktoś wybierze opcje spoza listy, skrypt poprosi o poprawny wybór.

Postaram się za jakiś czas podzielić podobnym rozwiązaniem w PowerShellu, zatem zapraszam do odwiedzania naszego bloga jak najczęściej :)


Podobne Tematy:

Tags:
  • porram

    Używam choice i jest spoko.

  • JimiPL

    Kiedy tworzę plik wsadowy z menu, to na XP czy Win7 działa poprawnie, ale już na WIn98 nie :/
    Co może być tego przyczyną ? Jest to dla mnie ważne, gdyż muszę zrobić takie menu pod Win98…

    • Dariusz Góra

      Możesz spróbować zewnętrznych programów do generowania menu. Używałem kiedyś WBAT w jakimś przedpotopowym projekcie i całkiem dobrze się spisywał. Pozwala na zrobienie bardziej zaawansowanych opcji i obsługuje mysz. Dostępny jest tu: http://www.horstmuc.de/ui.htm

      • JimiPL

        Użyłem komendy choice i teraz działa poprawnie :)
        Program fajny i przyjemny. Dziękuję :)

  • MURZYN

    kiedy tworze plik,włączam go i wyłącza mi się on po ułamku sekundy! co robić?

  • Spróbuj wywołać liska tak:

    start „C:Program FilesMozilla Firefoxfirefox.exe”

    • Mirek

      Niestety nie działa, pojawiło się okno cmd – tytuł okna to właśnie ścieżka którą podałeś a w treści okna pojawiła się zwykła linijka tak jakbym wywołał cmd normlanie

      • No to tak:

        start „” „C:Program FilesMozilla Firefoxfirefox.exe”

        • Mirek

          Nic z tego, zauważyłem ponadto, że Firefox jest w start „” „C:Pliki programów (x86)Mozilla Firefoxfirefox.exe”
          Pojawia się komunikat: System Windows nie może odnaleźć pliku „C:Pkiki program^w (x86)Mozilla Firefoxfirefox.exe. Upewnij się, że nazwa jest poprawna i spróbuj ponownie.
          Kurcze, przecież jest raczej poprawna… ;(

        • Jest dla Ciebie, nie dla cmd ;)

          ostatnia próba:

          start „” „%ProgramFiles(x86)%Mozilla Firefoxfirefox.exe”

        • Mirek

          Mistrz! Dzięki, teraz kombinuje jak uruchomić kilka programów, np. thunderbird wpisałem: start „” „%ProgramFiles(x86)%Mozilla Firefoxfirefox.exe”;”” „%ProgramFiles(x86)%Mozilla Thunderbirdthunderbird.exe” ale póki co nie działa…

        • Mirek

          na raz oczywiście bez polecenia wyboru…

        • :opcja1
          cls
          start „” „%ProgramFiles(x86)%Mozilla Firefoxfirefox.exe”
          start „” „%ProgramFiles(x86)%Mozilla Thunderbirdthunderbird.exe”
          pause

        • Mirek

          Normalnie MASTER z Ciebie…:))) dzięki :) zabieram się za robienie plików wsadowych do plików i programów które często otwieram i już nie będę musiał grzebać w oknach. Dzięki