iroquois-plisken
Goto Top

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.

Content-ID: 34947

Url: https://administrator.de/contentid/34947

Ausgedruckt am: 26.11.2024 um 03:11 Uhr

27234
27234 27.06.2006 um 14:09:11 Uhr
Goto Top
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:
leknilk0815
leknilk0815 27.06.2006 um 14:44:41 Uhr
Goto Top
Hi,
es gibt noch eine Krücke:

DOS Fenster öffnen und vom Explorer das gewünschte Verzeichnis per drag and drop in das DOS Fenster ziehen. Dann läßt sich der Pfad etc. leicht durch einfügen von "cd\" anpassen. Zumindest die nervige Pfadtipperei spart man sich so...

Gruß - Toni
Biber
Biber 27.06.2006 um 14:46:18 Uhr
Goto Top
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.

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)

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"  
... 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
27234
27234 27.06.2006 um 16:00:28 Uhr
Goto Top
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
Biber
Biber 27.06.2006 um 16:43:06 Uhr
Goto Top
@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
iroquois-plisken
iroquois-plisken 30.06.2006 um 11:45:42 Uhr
Goto Top
hallo biber,
danke erst mal für die rasche antwort.

ich hab jetzt probiert die reg einträge per batch ändern zu lassen.
das einzige probleme ist, dass er das %1 nicht mitzieht.
gibt es eine möglichkeit das prozentzeichen anderst darzustellen?

hier meine batch

REG ADD "HKEY_CLASSES_ROOT\Directory\shell\CmdHere\command"
REG ADD "HKEY_CLASSES_ROOT\Directory\shell\CmdHere" /v "(Standard)" /t REG_SZ /d "CMD &Prompt"
REG ADD "HKEY_CLASSES_ROOT\Directory\shell\CmdHere\command" /v "(Standard)" /t REG_SZ /d "C:\WINDOWS\system32\cmd.exe /k cd %1"

REG ADD "HKEY_CLASSES_ROOT\Drive\shell\CmdHere\command"
REG ADD "HKEY_CLASSES_ROOT\Drive\shell\CmdHere" /v "(Standard)" /t REG_SZ /d "CMD &Prompt"
REG ADD "HKEY_CLASSES_ROOT\Drive\shell\CmdHere\command" /v "(Standard)" /t REG_SZ /d "C:\WINDOWS\system32\cmd.exe /k cd %1"
iroquois-plisken
iroquois-plisken 30.06.2006 um 11:48:53 Uhr
Goto Top
27234
27234 30.06.2006 um 15:12:41 Uhr
Goto Top
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
Biber
Biber 30.06.2006 um 19:53:53 Uhr
Goto Top
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...
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
iroquois-plisken
iroquois-plisken 30.06.2006 um 21:24:51 Uhr
Goto Top
jetzt funktioniert alles!!! danke an alle


@echo ON

IF EXIST C:\WINDOWS\System32\cmd.exe GOTO WINDOWS
IF EXIST C:\WINNT\System32\cmd.exe GOTO WINNT


:WINDOWS

REG ADD "HKEY_CLASSES_ROOT\Directory\shell\CmdHere\command"
REG ADD "HKEY_CLASSES_ROOT\Directory\shell\CmdHere" /ve /t REG_SZ /d "CMD &Prompt"
REG ADD "HKEY_CLASSES_ROOT\Directory\shell\CmdHere\command" /ve /t REG_SZ /d "C:\WINDOWS\System32\cmd.exe /k cd %%1"

REG ADD "HKEY_CLASSES_ROOT\Drive\shell\CmdHere\command"
REG ADD "HKEY_CLASSES_ROOT\Drive\shell\CmdHere" /ve /t REG_SZ /d "CMD &Prompt"
REG ADD "HKEY_CLASSES_ROOT\Drive\shell\CmdHere\command" /ve /t REG_SZ /d "C:\WINDOWS\System32\cmd.exe /k cd %%1"

GOTO ENDE


:WINNT

REG ADD "HKEY_CLASSES_ROOT\Directory\shell\CmdHere\command"
REG ADD "HKEY_CLASSES_ROOT\Directory\shell\CmdHere" /ve /t REG_SZ /d "CMD &Prompt"
REG ADD "HKEY_CLASSES_ROOT\Directory\shell\CmdHere\command" /ve /t REG_SZ /d "C:\WINNT\System32\cmd.exe /k cd %%1"

REG ADD "HKEY_CLASSES_ROOT\Drive\shell\CmdHere\command"
REG ADD "HKEY_CLASSES_ROOT\Drive\shell\CmdHere" /ve /t REG_SZ /d "CMD &Prompt"
REG ADD "HKEY_CLASSES_ROOT\Drive\shell\CmdHere\command" /ve /t REG_SZ /d "C:\WINNT\System32\cmd.exe /k cd %%1"

:ENDE
superboh
superboh 02.07.2006 um 14:59:23 Uhr
Goto Top
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
Biber
Biber 02.07.2006 um 17:10:42 Uhr
Goto Top
Jepp, Thomas,
gute Ergänzung. Dann bring ich auch noch eine. face-wink

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