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:
gdy wybiorę wartość spoza zakresu 1-3 nie wyświetla się komunikat: “echo Zly parametr… Wybierz ponownie!”
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?
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.
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.
udało mi się ogarnąć
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.