CMD.EXE durch Alternative ersetzen

Mr. Brooks

Lt. Commander
Registriert
Aug. 2011
Beiträge
1.441
Hallo,

es gibt für Windows einige Alternativen zur systemeigenen CMD, v.a. finde ich dort die Kopier- und Einfügeoptionen nicht so schön. Ich wollte zunächst einmal ColorConsole verwenden. Ich will das ganze so einrichten, dass immer die Colorconsole statt CMD verwendet wird. Mir ist klar, dass die CMD.EXE nicht entfernt werden sollte und im Hintergrund weiter arbeiten muss. Ich habe aber leider nicht herausbekommen was ich ändern muss, damit immer die CC läuft wo sonst die CMD gestartet wird, also z. B. wenn ich über "SHIFT-Rechtsklick / Eingabeaufforderung hier öffnen" anklicke oder beim Ausführen einer Batchdatei.

Weiß einer wie das geht?

Mr. Brooks
 
Google mal nach Context Menu Editor

Du findest dann einige Freewaretools mit denen du die neue Konsolenanwendung in die Auswahlliste einfügen kannst.
Die vorhandenen Links im Kontextmenu könnte man zwar auch umbiegen, aber das ist nicht empfehlenswert.
 
OK, das fügt mir die CC ins Kontextmenü ein, ich will aber, dass die CC immer gestartet wird wenn sonst die CMD gestartet wird, also auch wenn ich eine Batchdatei ausführe. Dafür reicht ja das Kontextmenü nicht aus.
 
Das ist nicht ratsam, da es zu Fehlverhalten des Systems kommen kann wenn gescriptete Aktionen ausgeführt werden sollen.

Man kann es aber trotzdem ändern, indem man im Registryeditor unter

HKEY_CLASSES_ROOT\batfile\shell\open\command für .BAT Dateien und
HKEY_CLASSES_ROOT\cmdfile\shell\open\command für .CMD Dateien

das Verhalten ändert. Das geht natürlich nicht nur für das Verhalten der Open-Aktion, sondern auch für Edit oder Print.

Ich würde es aber lassen und lieber ne neue Aktion definieren. Zum Beispiel den Key
HKEY_CLASSES_ROOT\batfile\shell\ColorConsole\command erstellen und den Standardwert auf sowas wie "c:\program files\ColorConsole\console.exe" "%1" setzen. Je nachdem wo die Shell hininstalliert wurde. Dann kann man das per Rechtsklick auf .BAT Dateien als Kontextmenüaktion auswählen. %1 übergibt dann den Batchdateinamen. Die Anführungszeichen müssen auch gesetzt werden, da das Kommando sonst nicht mehr funktioniert sobald Leerzeichen im Pfad vorkommen.
 
Dann kann ich aber eien Batch nicht mit Doppelklickausführen, oder?

Auch über das Kontextmenü geht es nicht. Ich erhalte eine komische Fehlermeldung

L:\Ordner1\Ordner2\Ordner3>"L:\Ordner1"
Der Befehl ""L:\Ordner1"" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

Er scheint irgendwie den Pfad als Befehl zu interpretieren. Im Ordnernamen2 ist ein Leerzeichen drin. Ich habe aber in der Regex alles so eingestellt wie beschrieben, auch %1 in "".
 
Solche Kontextmenüeinträge Hab ich schon 1000 Mal gemacht. Musst die Befehle nochmal checken. Gehen tuts auf jeden Fall. Musst auch schauen was die neue Konsole als Übergabeparameter, bzw. Switch erwartet wenn du eine Batchdatei übergibst. Möglicherweise musst du zusätzlich /e für execute übergeben oder so.

Wenn du das mit Doppelklick ausführen willst, müsstest du den neuen Eintrag als Standard setzen. Wie das geht weiss ich aber nicht mehr auswendig.
 
Zuletzt bearbeitet:
Zurück
Oben