Mein Problem ist, dass es in Windows Befehlszeilenfenster gibt, die unmittelbar nach der Ausführung geschlossen werden. Um dies zu lösen, möchte ich, dass das Standardverhalten so ist, dass das Fenster geöffnet bleibt. Normalerweise kann dieses Verhalten mit drei Methoden vermieden werden, die mir in den Sinn kommen:
- Setzen Sie
pause
nach Batch-Programmen eine Zeile, um den Benutzer aufzufordern, vor dem Beenden eine Taste zu drücken - Ausführen dieser Batchdateien oder anderer Befehlszeilen-Manipulationstools (auch Starten, Neustarten von Diensten usw. mit
net start xy
oder ähnlichem) incmd.exe
(Start - Ausführen - cmd.exe) - Führen Sie diese Programme folgendermaßen aus
cmd /k
:cmd /k myprogram.bat
Es gibt jedoch einige andere Fälle, in denen der Benutzer:
- Führt das Programm zum ersten Mal aus und weiß nicht, dass das angegebene Programm in der Eingabeaufforderung (Windows Command Processor) ausgeführt wird, z. B. beim Ausführen einer Verknüpfung über das Startmenü (oder von einer anderen Stelle) ODER
- Findet es ein bisschen unangenehm, cmd.exe ständig auszuführen, und hat nicht die Zeit / Gelegenheit, den Code dieser Befehle überall neu zu schreiben, um eine Pause nach ihnen zu machen oder das explizite Beenden zu vermeiden.
Ich habe einen Artikel über das Ändern des Standardverhaltens cmd.exe
beim expliziten Öffnen gelesen , indem ein AutoRun-Eintrag erstellt und dessen Inhalt an folgenden Stellen bearbeitet wurde :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor\AutoRun
(Die AutoRun-Elemente sind _String values_
...)
Ich habe es cmd /d /k
als Wert angegeben, um es zu versuchen, aber das hat das Verhalten der oben genannten Dinge überhaupt nicht geändert ... Es hat nur das Verhalten des Befehlszeilenfensters geändert, wenn es explizit geöffnet wurde (Start-Ausführen-Befehl). cmd.exe).
Wie funktioniert es? Können Sie mir Anregungen zur Lösung dieses Problems geben?
stdout
fortlaufend gesendet, die aus gutem Grund nie sichtbar sein sollten.