446 Stimmen

Wie kann ich ein cmd-Fenster an einem bestimmten Ort öffnen?

Wie kann ich ein cmd-Fenster an einem bestimmten Ort öffnen, ohne den ganzen Weg zu dem gewünschten Verzeichnis navigieren zu müssen?

11voto

Codism Punkte 5432

Ich habe gerade diese Frage gesehen und kann nicht anders, als mein AutoHotkey-Skript für cmd unter Windows XP zu posten. Sie können die Tastenkombinationen in dem Skript sehen. Das Schöne daran ist, wenn Ihr aktuelles Windows der Explorer ist, wird cmd in dem Pfad geöffnet, der in der Adressleiste angezeigt wird.

Ich bewahre dieses Skript in einem Ordner auf, in dem ich alle grünen Tools (einschließlich AutoHotkey) speichere. Bei einem neuen Rechner kopiere ich einfach den Ordner, doppelklicke auf das Skript, um .ahk mit AutoHotkey zu verknüpfen, und erstelle eine Verknüpfung in meinem Startordner. Das ist schneller als die Installation von PowerToys .

; Get working folder
GetWorkingFolder() {
    if WinActive("ahk_class ExploreWClass") or WinActive("ahk_class CabinetWClass") {
        ControlGetText, path, Edit1
        return %path%
    } else if WinActive("FreeCommander") {
        Send, {CTRLDOWN}{ALTDOWN}{INS}{ALTUP}{CTRLUP}
        Sleep, 100
        return clipboard
    } else {
        return "C:\"
    }
}

#IfWinActive,

#c::
    path := GetWorkingFolder()
    Run, %ComSpec%, %path%
    return

; PowerShell
#+C::
    path := GetWorkingFolder()
    Run, %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe, %path%
    return

#^c::
    Run, %ComSpec%, %temp%
    return

#!c::
    path := GetWorkingFolder()
    Run, %comspec% /k "%VS90COMNTOOLS%vsvars32.bat", %path%
    return

; irb
#!b::
    path := GetWorkingFolder()
    Run, c:\cygwin\bin\ruby /usr/bin/irb, %path%
    return

; Bash
#b::
    path := GetWorkingFolder()
    Run, bash --login, %path%
    return

; Paste in console
+INS::
    if WinActive("ahk_class ConsoleWindowClass") {
        WinGetPos, x, y, w, h, A
        MouseGetPos, mx, my
        ;MsgBox x=%x% y=%y% w=%w% h=%h% mx=%mx% my=%my%
        if (mx < 10)
            mx = 10
        else if (mx > w - 30)
            mx := w - 30

        if (my < 40)
            my = 40
        else if (my > h)
            my := h - 10

        MouseClick, right, mx, my
    }
    return

Wer sich dafür interessiert, findet das Skript unter rwin auf github

11voto

simon Punkte 5579

Erstellen Sie eine Verknüpfung und ändern Sie die Eigenschaft "Start in" der Verknüpfung auf das Verzeichnis, in dem die cmd.exe gestartet werden soll.

10voto

raven Punkte 17587

Update : Diese Funktion ist jetzt in Windows integriert. Siehe diese Antwort .

Das XP-Powertoy ist eine gute Option, aber ich dachte, ich poste noch eine weitere, falls Sie Ihre eigene Version erstellen möchten. Erstellen Sie eine Textdatei, nennen Sie sie anything.reg, fügen Sie den unten stehenden Code ein, speichern Sie sie, und fügen Sie sie mit einem Doppelklick zur Registrierung hinzu (oder fügen Sie die Informationen manuell zur Registrierung hinzu, wenn Sie verstehen, was in dieser .reg-Datei vor sich geht).

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Folder\shell\Command_Prompt_Here...]
@="Command Prompt Here..."

[HKEY_CLASSES_ROOT\Folder\shell\Command_Prompt_Here...\command]
@="cmd.exe \"%1\""

Update: Nach einem Windows-Update, Win10 die Funktion cmd-here entfernt. Um sie wieder zu aktivieren, müssen Sie sie verwenden:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\cmd]
@="@shell32.dll,-8506"
"Extended"=""
"NoWorkingDirectory"=""
"ShowBasedOnVelocityId"=dword:00639bc8

[HKEY_CLASSES_ROOT\Directory\shell\cmd\command]
@="cmd.exe /s /k pushd \"%V\""

Der Eintrag ShowBasedOnVelocityId ist obligatorisch

10voto

Quantum Dreamer Punkte 415

Diese Antwort ist für Windows 10.

Erstellen Sie eine Verknüpfung zur Eingabeaufforderung in dem gewünschten Ordner, und klicken Sie dann mit der rechten Maustaste auf diese Verknüpfung type your target in start in field

y

Here you go

9voto

TomCat Punkte 431

Unter Windows 7 oder höher geben Sie in der Adressleiste des Zielordners einfach cmd ein. Das war's. Es öffnet sich die Eingabeaufforderung mit dem Pfad zu Ihrem aktuellen Verzeichnis.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X