Skrypt batch kilka niejasności

Cześć, zwracam się z prośbą o wyjaśnienie do osób ogarniętych w skryptach batch.

Kod dostępny jest tutaj: https://pastebin.com/T65WJZqj
Chciałbym abyście podpowiedzieli mi gdzie popełniłem błąd w kwestii:

  1. gdy wybiorę wartość spoza zakresu 1-3 nie wyświetla się komunikat: “echo Zly parametr… Wybierz ponownie!”
  2. wybranie np 1 lub 2 powoduje start programu tym samym pojawia się “Trwa uruchamianie Program…” i okno cmd przechodzi w stan wstrzymania w jaki sposób i dopiero zamknięcie programu powoduje ponowną możliwość wyboru innego programu. Chciałbym aby po wystartowaniu jednego programu pojawiała się możliwość wyboru kolejnego do uruchomienia. Jest to możliwe?
  3. zauważyłem, że w sytuacji gdy uruchomię jakiś PROGRAM i przejdę do okna cmd i poklikam w pustych miejscach myszką, po chwili pojawia się w ostatniej chwili znak karetki, następnie zamknę uruchomiony wcześniej PROGRAM to skrypt czyści okno i nie wyświetla komunikatu z programami do wyboru czym to może być spowodowane? Dodam, że dopiero naciśnięcie CTRL+C powoduje przerwanie i przywrócenie komunikatu z listą programów do wyboru.

Z góry dzięki za pomoc

nie wyświetla się komunikat: “echo Zly parametr… Wybierz ponownie!”

Jak ma ci pokazywać jak nie robisz pauzy, a skacząc do początku czyścisz ekran. Może widać ale przecież nie widzimy w slow-motion.


Chciałbym aby po wystartowaniu jednego programu pojawiała się możliwość wyboru kolejnego do uruchomienia. Jest to możliwe?

dzięki za info.:slight_smile:

Jeśli chodzi o użycie call to niedokońca spełnia ono moje oczekiwania gdyż zamknięcie PROGRAM1 spowoduje uruchomienie PROGRAM2.

Lista będzie zawierała kilka programów, one mogą zostać uruchomione w dowolnej kolejności - to zależy od usera.
Oczekiwanym rezultatem który chciałbym osiągnąć to po odpaleniu np. PROGRAM2 i wyświetleniu komunikatu “Trwa uruchamianie PROGRAM2…” po kilku sek skrypt ponownie przechodzi do początku i prosi o wybór kolejnego programu.

1 polubienie

udało mi się ogarnąć :slight_smile:
utworzyłem osobne skrypty dla PROGRAM1 oraz PROGRAM2 wskazując w nich ścieżkę programu:
@echo off
startinfo.wShowWindow := SW_HIDE;
start C:\KATALOG2\PROGRAM2.EXE
exit

następnie w głównym skrypcie odwołałem się do tych nowo utworzonych:
:PROGRAM2
echo Trwa uruchamianie PROGRAM2…
start C:\SKRYPTY\SKRYPT_PROGRAM2.EXE
goto Start

dodatkowo set zmieniłem na choice tym samym skrypt nie reaguje na wpisanie innych wartosci niż te które są dostępne.

Dzięki za pomoc.

1 polubienie