Skript Pause wenn in nicht in Konsole ausgeführt

OP #7247445
Lesenswert?

Guten Morgen,

ich habe ein Script (script.cmd), das für mich Modultests startet. Wenn 
es aus der IDE heraus gestartet wird, wird das Ergebnis in der 
Konsolenausgabe der IDE angezeigt. Das soll so bleiben.

Wenn ich die *.cmd-Datei im Explorer starte, soll das Konsolenfenster 
geöffnet bleiben, damit man das Ergebnis lesen kann. Normalerweise 
erreiche ich das mit dem Befehlt "pause" am Skriptende.

Das Problem: Füge ich am Ende des Skripts die "pause" ein, funktioniert 
das Beenden des Skripts in der IDE nicht mehr, da es eine reine Ausgabe 
ist.

Also muss sich das Skript irgendwie unterschiedlich verhalten, je 
nachdem, ob es über den Explorer oder per cmd.exe gestartet wird. Ich 
habe es schon versucht, über die Auswertung von %cmdcmdline% 
herauszubekommen, aber das war eine Sackgasse.

Meine komplette Umgebung davon zu überzeugen, auf Linux zu wechseln, 
wird auch nicht klappen.

Wie kann ich dafür sorgen, dass sich ein Skript beendet, wenn es in 
einer Konsole ausgeführt wird und nicht beendet, wenn es über den 
Explorer gestartet wird?
OP #7247753
Lesenswert?

Gugscht schrieb:
> starte es im Explorer nicht direkt sondern über einen Batchjob.

Das ist mein aktueller Workaround

WIRO schrieb:
> Lege einen Link auf das Skript an

Das war mein erster Gedanke, aber Links scheinen grundsätzlich absolute 
Pfade zu haben. Das kann ich hier nicht gebrauchen.

WIRO schrieb:
> gib im Link einen beliebigen Wert
> für einen Parameter an, z. B. wait.

Das könnte klappen. Ich kann in der IDE beim Aufruf einen Parameter 
mitgeben, z.B. doNotWait.

Nachtrag: Ja, das funktioniert. Danke für den Tipp!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren