Windows 10 cmd batch script ausführen wenn befehl benutzt?
Hallo,
ich würde gerne, wenn das denn geht, ein batch script ausführen lassen, wenn ein bestimmter Befehl in der cmd.exe benutzt wird.
Also zum Beispiel wenn ich cls benutze, wird ein batch script ausgeführt das Hello World ausgibt. Geht das? Wenn ja wie?
2 Antworten
Nein, du kannst eine cmd Datei über nur den Namen ansprechen, dass geht aber nur, solange der Name sich nicht mit einem Befehl überschneidet. Der Befehl hat Vorrang
Das einzige was ich finde ist das: https://stackoverflow.com/questions/2323266/create-event-with-the-batch-files
Vielleicht hilft es, ansonsten geht es nicht
Geht nicht, ...und das ist eine Phrase, welche ich nicht gerne in den Mund nehme.
Bei externen Befehlen liese sich ja noch durch ändern der Pathvariable der Aufruf auf eine Alternative in einem anderen Ordner umleiten. (Wenn der direkte Pfad zum Befehl nicht explizit angegeben wurde)
Bei internen Befehlen ist dergleichen nicht möglich. Interne Befehle Bestandteil von cmd.exe und werden nicht als eigenständige Befehle verarbeitet. Da Cmd.exe als Consol-Programm auch über keine Ereignisverarbeitung verfügt, gibt es keine Möglichkeit auf dessen interne Abläufe Einfluss zu nehmen.
Die Aufrufhirarchie von cmd ist immer:
- Interner Befehl
- Durch %Pathext% definierte hirarchie (.COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS ; .WSF; .WSH; .MSC)...
- ...im aktuellen Verzeichnis.
- ...inden durch %path% definierten Ordnern
Naja, man kann aber einfach mit doskey den internen befehl überschreiben, so hab ichs jetzt gelöst
Naja mit doskey geht es auch. Ist ja auch egal, also geht es nicht? Gibt es keine art "event listener" oder so?