cmd übernimmt beim öffnen die directory vom explorer
hallo,
wir hatten mal auf nem server(leider platt gemacht) eine einstellung in der cmd oder im explorer:
wenn ich im explorer z.b. auf c:\windows\system32 bin und dann die cmd öffne war die start directory automatisch auf c:\windows\system32 und keiner von uns weiss mehr wie man das wieder hinbekommt.
ich hoffe irgend einer kann uns da weiter helfen.
wir hatten mal auf nem server(leider platt gemacht) eine einstellung in der cmd oder im explorer:
wenn ich im explorer z.b. auf c:\windows\system32 bin und dann die cmd öffne war die start directory automatisch auf c:\windows\system32 und keiner von uns weiss mehr wie man das wieder hinbekommt.
ich hoffe irgend einer kann uns da weiter helfen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 34947
Url: https://administrator.de/contentid/34947
Ausgedruckt am: 26.11.2024 um 03:11 Uhr
12 Kommentare
Neuester Kommentar
Hallo!
Öffnet man die Eingabeaufforderung, muss man immer erst umständlich Laufwerk und Verzeichnis wechseln. Durch die im folgenden beschriebene Änderung in der Registry kann man aus dem Explorer heraus die Eingabeaufforderung starten (Kontext-Menü rechte Maustaste) und steht in genau jenem Verzeichnis, welches man im Explorer markiert ist.
1. Regedit starten
2. im Verzeichnis HKEY_CLASSES_ROOT\Folder\Shell einen neuen Schlüssel erstellen z.B. DOS-Fenster
3. unter dem neuen Schlüssel wiederum einen neuen Schlüssel "Command" erstellen
4. unter dem automatisch generierten Eintrag [Standard] den Pfad für die Eingabeaufforderung eintragen z. B. C:\WINNT\System32\cmd.exe
Variante aus http://www.winfaq.de/faq_html/tip0831.htm:
Öffnet man die Eingabeaufforderung, muss man immer erst umständlich Laufwerk und Verzeichnis wechseln. Durch die im folgenden beschriebene Änderung in der Registry kann man aus dem Explorer heraus die Eingabeaufforderung starten (Kontext-Menü rechte Maustaste) und steht in genau jenem Verzeichnis, welches man im Explorer markiert ist.
1. Regedit starten
2. im Verzeichnis HKEY_CLASSES_ROOT\Folder\Shell einen neuen Schlüssel erstellen z.B. DOS-Fenster
3. unter dem neuen Schlüssel wiederum einen neuen Schlüssel "Command" erstellen
4. unter dem automatisch generierten Eintrag [Standard] den Pfad für die Eingabeaufforderung eintragen z. B. C:\WINNT\System32\cmd.exe
Variante aus http://www.winfaq.de/faq_html/tip0831.htm:
Hm, Bolle97,
Die 2. Variante mag funktionieren, aber die Herleitung und Erläuterung auf der winfaq-Seite sind -gelinde gesagt- Bullshit ein Mißverständnis.
CMD /K bewirkt, dass eine neue Instanz des CMD-Interpreters gestartet und nicht nach Ausführung des dahinter stehenden Befehls wieder beendet wird ( "K" wie "Keep")
Und die Verwendung des HKLM-Folder-Zweige ist auch daneben - gemeint sind doch die HKCR-Branches "Drive" und "Directory", wo ich so etwas haben will.
Also (zum Beispiel)
... wobei "CmdHere" ein willkürlich gewählter, aber passender Name ist und die Accelarator-Zeichenkette "CMD &Prompt >" zur Anzeige des Strings "CMD Prompt >" mit dem Hotkey auf Alt-P führt.
Gruß
Biber
Die 2. Variante mag funktionieren, aber die Herleitung und Erläuterung auf der winfaq-Seite sind -gelinde gesagt-
Durch die Angabe von /K wird das Fenster mit DOS -Namen (8 Zeichen) geöffnet.
Wenn Sie also nicht den langen Verzeichnisnamen haben wollen, fügen Sie das /K ein
z.B.: CMD.EXE /K CD %1)
Wenn Sie also nicht den langen Verzeichnisnamen haben wollen, fügen Sie das /K ein
z.B.: CMD.EXE /K CD %1)
CMD /K bewirkt, dass eine neue Instanz des CMD-Interpreters gestartet und nicht nach Ausführung des dahinter stehenden Befehls wieder beendet wird ( "K" wie "Keep")
Und die Verwendung des HKLM-Folder-Zweige ist auch daneben - gemeint sind doch die HKCR-Branches "Drive" und "Directory", wo ich so etwas haben will.
Also (zum Beispiel)
HKEY_CLASSES_ROOT\Directory\shell\CmdHere
<Standard> REG_SZ CMD &Prompt >
HKEY_CLASSES_ROOT\Directory\shell\CmdHere\command
<Standard> REG_SZ C:\WINDOWS\system32\cmd.exe /k cd "%1"
HKEY_CLASSES_ROOT\Drive\shell\CmdHere
<Standard> REG_SZ CMD &Prompt >
HKEY_CLASSES_ROOT\Drive\shell\CmdHere\command
<Standard> REG_SZ C:\WINDOWS\system32\cmd.exe /k cd "%1"
Gruß
Biber
Hallo Biber,
sorry, habe das einfach aus einer alten (internen) Anleitung bei uns rauskopiert ohne nochmals bei "www.winfaq.de" gewesen zu sein.
Gruß Bolle97
sorry, habe das einfach aus einer alten (internen) Anleitung bei uns rauskopiert ohne nochmals bei "www.winfaq.de" gewesen zu sein.
Gruß Bolle97
@27234
Sollte auch nicht gegen Dich gerichtet sein - aber als ich vorhin einen kurzen Blick auf den WinFAQ-Link geworfen habe, hab ich mich doch an meinem Kaffee verschluckt.
Ist nun nicht lebenswichtig, aber Deine erste Lösungs-Variante kam IMHO der Wahrheit viel näher als dieser Querverweis.
Grüße
Biber
Sollte auch nicht gegen Dich gerichtet sein - aber als ich vorhin einen kurzen Blick auf den WinFAQ-Link geworfen habe, hab ich mich doch an meinem Kaffee verschluckt.
Ist nun nicht lebenswichtig, aber Deine erste Lösungs-Variante kam IMHO der Wahrheit viel näher als dieser Querverweis.
Grüße
Biber
Hallo,
ja genau das ist das Missverständnis. Die "2. Variante" aus "WWW.WINFAQ.DE" ist nicht gerade so günstig. Schau Dir die erste Antwort an ohne den Link.
Gruß Bolle97
ja genau das ist das Missverständnis. Die "2. Variante" aus "WWW.WINFAQ.DE" ist nicht gerade so günstig. Schau Dir die erste Antwort an ohne den Link.
Gruß Bolle97
Moin iroquois-plisken,
nimm entweder Bolle97's Variante (des manuellen Eintippselns) oder aber teste es mit Deiner REG.exe-Version aus (es gibt mindestens 2 Varianten mit Syntaxunterschieden, also bitte vorher "Reg /?" bzw "Reg add /?".)
Bei meiner (die ich aus Gewohnheit auf dem Rechner habe - Vers. 2.0) ist die Syntax so:
- bei dem "leeren Key", der in RegEdit als "Standard" oder als "<NO NAME>" angezeigt wird...
- wenn irgendwo eine Variable dabei ist, die es für den Batch mit Deinen "Reg Add" auch geben könnte wie bei Dir "%1"....
Dann diese Variable
- entweder a la Batch "maskieren" mit dem Caret ^ ---->"^%1" statt "%1" schreiben
- oder ebenfalls a la Batch maskieren durch doppelte %-Zeichen -----> "%%1" statt "%1"
- oder die Maskierung nutzen, die die Reg.exe selbst bereitstellt.
In meiner Reg-Version ist in der "REG ADD"-Hilfe das Beispiel angeführt:
Einfach probieren...eine der Varianten passt bestimmt... und beim nächsten Mal kannst Du es dann souverän aus dem Handgelenk runtertippen.
Kannst aber auch rückmelden, welches die funktionierende Variante ist.
Gruß
Biber
nimm entweder Bolle97's Variante (des manuellen Eintippselns) oder aber teste es mit Deiner REG.exe-Version aus (es gibt mindestens 2 Varianten mit Syntaxunterschieden, also bitte vorher "Reg /?" bzw "Reg add /?".)
Bei meiner (die ich aus Gewohnheit auf dem Rechner habe - Vers. 2.0) ist die Syntax so:
- bei dem "leeren Key", der in RegEdit als "Standard" oder als "<NO NAME>" angezeigt wird...
REG ADD "HKCR\Drive\shell\CmdHere" /ve /t REG_SZ /d "CMD &Prompt"
- wenn irgendwo eine Variable dabei ist, die es für den Batch mit Deinen "Reg Add" auch geben könnte wie bei Dir "%1"....
Dann diese Variable
- entweder a la Batch "maskieren" mit dem Caret ^ ---->"^%1" statt "%1" schreiben
- oder ebenfalls a la Batch maskieren durch doppelte %-Zeichen -----> "%%1" statt "%1"
- oder die Maskierung nutzen, die die Reg.exe selbst bereitstellt.
In meiner Reg-Version ist in der "REG ADD"-Hilfe das Beispiel angeführt:
REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d %"systemroot"%
Übertragen auf Deine Werte müsste es also sein...REG ADD "HKEY_CLASSES_ROOT\Drive\shell\CmdHere\command" /ve /t REG_SZ /d "C:\WINDOWS\system32\cmd.exe /k cd %"1""
Einfach probieren...eine der Varianten passt bestimmt... und beim nächsten Mal kannst Du es dann souverän aus dem Handgelenk runtertippen.
Kannst aber auch rückmelden, welches die funktionierende Variante ist.
Gruß
Biber
Hi,
bei der Überprüfung ob C:\Windows oder C:\Winnt geht es ja nur darum, den richtigen Pfad zur cmd.exe eintragen zu können, oder?
Das kannst Du Dir sparen wenn Du die Systemvariable %comspec% verwendest. Dann hast Du immer den passenden Pfad
Also z.B. schreibst:
REG ADD "HKEY_CLASSES_ROOT\Directory\shell\CmdHere\command" /ve /t REG_SZ /d "%comspec% /k cd %%1"
Gruß,
Thomas
bei der Überprüfung ob C:\Windows oder C:\Winnt geht es ja nur darum, den richtigen Pfad zur cmd.exe eintragen zu können, oder?
Das kannst Du Dir sparen wenn Du die Systemvariable %comspec% verwendest. Dann hast Du immer den passenden Pfad
Also z.B. schreibst:
REG ADD "HKEY_CLASSES_ROOT\Directory\shell\CmdHere\command" /ve /t REG_SZ /d "%comspec% /k cd %%1"
Gruß,
Thomas
Jepp, Thomas,
gute Ergänzung. Dann bring ich auch noch eine.
Ich würde noch den Parameter %%1 (der ja meist den Pfad enthält) noch einmal zusätzlich in Anführungszeichen setzen, damit ggf.
Siehe die Reg-Werte bei meinem ersten Posting oben.
Gruß
Biber
gute Ergänzung. Dann bring ich auch noch eine.
Ich würde noch den Parameter %%1 (der ja meist den Pfad enthält) noch einmal zusätzlich in Anführungszeichen setzen, damit ggf.
C:\WINNT\System32\cmd.exe /k cd "C:\Dokumente und Einstellungen\UserXYZ"
...herauskommt und dabei die Leerzeichen im Pfad keine Probleme machen.Siehe die Reg-Werte bei meinem ersten Posting oben.
Gruß
Biber