Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

2 - 3 absolute Newbie Fragen

tommyboy / 6 Antworten / Baumansicht Nickles

Hallo Nickles-Wissende,

Ich möchte ein Programm ohne GUI auf der Komandozeile unter XPHome ausführen.
Statt umständlich über "start, ausführen, cmd.exe, programmname+parameter, enter" möchte ich das Programm per Batchdatei ausführen. Das geht auch soweit auch wie ich mir gedacht hatte das es prinzipiell gehen müßte.

Fragen:
Wie kriege ich das sich öffnende cmd.exe Fenster dazu sich nach Durchlauf des Programmes NICHT automatisch wieder zu schließen? (würde gerne noch die Textausgaben des Programmes lesen)

Wie muß ich die Batchdatei aufbauen damit der Programmaufruf nach erfolgreichem Durchlauf erneut beginnt? (Unter C64BasicV2 ging es ja ganz einfach mit Zeilennummern: 10 ausführen des programmes, 20 goto 10) Also quasi als Endlosschleife bzw. mit zeitlicher Verzögerung immer wieder bis ich ggfs. von Hand die cmd.exe Instanz beende.



bei Antwort benachrichtigen
T-Rex tommyboy „2 - 3 absolute Newbie Fragen“
Optionen
Wie kriege ich das sich öffnende cmd.exe Fenster dazu sich nach Durchlauf des Programmes NICHT automatisch wieder zu schließen?
Da gibt es mehrere Möglichkeiten:
  • In der Batch kannst Du nach dem Aufruf Deiner Anwendung den Befehl PAUSE schreiben. Dadurch wird die Ausführung der Batch-Datei unterbrochen, bis Du eine Taste drückst. Sei gewarnt: STRG+C bricht die Ausführung der Batch ab, schließt die Box jedoch nicht! Falls die Batch mit Admin-Rechten gestartet wird, stehen Dir in dieser Box Admin-Rechte zur Verfügung!

  • Du startest die Anwendung mittels
    %COMSPEC% /k MeineAnwendung.Exe

    Deine Anwendung wird durchlaufen, die DOS-Box jedoch nicht geschlossen, Eingaben sind nach dem Beenden keine mehr möglich. Unter Umständen kannst Du hier jedoch auch Admin-Rechte erhalten, falls sich Deine Anwendung mittels STRG+C unterbrechen läßt.

Wie muß ich die Batchdatei aufbauen damit der Programmaufruf nach erfolgreichem Durchlauf erneut beginnt?
@ECHO OFF

:STARTAPP
MeineAnwendung
GOTO STARTAPP

Bedenke die Möglichkeit, Admin-Rechte zu erlangen!
 GrüßeT-Rex 
bei Antwort benachrichtigen
tommyboy T-Rex „ Da gibt es mehrere Möglichkeiten: In der Batch kannst Du nach dem Aufruf...“
Optionen

Danke T-Rex!


Es funktioniert!!

Statt pause hatte ich es mit wait probiert :-(

Das ein ":" vor die "Zeilennummer" muß, darauf wäre ich nicht gekommen so ganz ohne jede Dokumentation zu Batchbefehlen.

Kannst du vieleicht noch die ein oder andere Onlinequelle zu Batchbefehl-syntax nennen, wo ich mich selbst weiter schlau machen kann?
Oder eben schnell verraten wie die Syntax aussehen muß um vor dem GOTO10 eine Wartezeit-Schleife einzubauen?

bei Antwort benachrichtigen
Yves3 tommyboy „Danke T-Rex! Es funktioniert!! Statt pause hatte ich es mit wait probiert :- Das...“
Optionen

den Befehl Help kennst du, oder?
Und natürlich IrgendEinBefehl /?

Braucht etwas Erfahrung bis man diese Hilfe richtig versteht.

Für weitere infos --> Google.de ;-) (Naja gewisse Befehle oder Parameter sind nicht ganz so durchsichtig dann musst du halt noch mal fragen)

Gruss yves

bei Antwort benachrichtigen
tommyboy Yves3 „den Befehl Help kennst du, oder? Und natürlich IrgendEinBefehl /? Braucht etwas...“
Optionen

den Befehl Help kennst du, oder?
Und natürlich IrgendEinBefehl /?

Na klar yves3, ggfs. tut's sogar ein -?

Aber "wartezeitschleife /?" bringt es nicht so richtig ;-)
Und der Befehl "Help wie kriege ich beispielsweise eine zeitbasierte unterbrechung in eine batchdatei" führt logischerweise auch nicht zum Ergebnis das der nötige Befehl/die nötige Befehlskombination angezeigt wird!

Du verstehst?!

bei Antwort benachrichtigen
T-Rex tommyboy „den Befehl Help kennst du, oder? Und natürlich IrgendEinBefehl /? Na klar...“
Optionen

Eine zeitbasierte Unterbrechung bekommst Du mit Choice hin.
Ein Beispiel kann ich Dir nicht geben, weil das Paket, mit dem Choice ausgeliefert wird, auf meiner Kiste nicht installiert ist.

 GrüßeT-Rex 
bei Antwort benachrichtigen
Andreas42 tommyboy „den Befehl Help kennst du, oder? Und natürlich IrgendEinBefehl /? Na klar...“
Optionen

Hi!

Nur als Tipp:

Bei meinem WinXPpro kann man hervorragend die Onlinehilfe über den Startbutton nutzen. ich denke, dass wird bei XPhome nicht anders sein. Man muss sich allerdings damit zurechfinden, deshalb gebe ich mal ein paar Hilfen, wie man dort die Referenz zu CMD und den möglichen befehlen findet:

Start/"Hilfe und Support" anwählen.
-> Es öffnet sich das Hilfe und Supportcenterfenster.

In der Suchzeile "cmd" ohne Anführungszeichen eingeben.
-> Es baut sich das Ergebnisfenster auf.

Unter "Empfohlene Treffer" findet man schonmal die Aufrufsyntax von CMD. Der beste Link ist aber weiter Unten unter "Ergebnis der Volltextsuche" aufgeführt.
->Unter "Bachtadeien" findet amn eine allgemeine Einleitung und unter "Befehlszeilenreferenz A-Z" eine sehr gute und ausführliche Übersicht der möglichen Befehle.

OK, das man Choice oder Pause für Verzögerungen nutzen kann steht da nicht, aber das Teil ist IMHO sehr gut brauchbar.

Bis dann
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen