我怎样才能在一个特定的位置打开一个cmd窗口,而不必一直导航到我想要的目录?


当前回答

我刚刚看到这个问题,无法帮助发布我的自动热键脚本在Windows XP上的cmd。您可以在脚本中找到热键。好的事情是,当你当前的窗口是资源管理器时,cmd将在地址栏显示的路径中打开。

我把这个脚本保存在存放所有绿色工具(包括自动热键)的文件夹中。对于一台新机器,我只需复制文件夹,双击脚本将.ahk与AutoHotkey关联起来,并在启动文件夹中创建一个快捷方式。它比安装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

对于任何感兴趣的人,你可以在github上的rwin上找到这个脚本

其他回答

更新:这是内置在Windows现在。请看这个答案。

XP的动力玩具是一个不错的选择,但我想我要发布另一个,以防你想“滚你自己的”。创建一个文本文件,命名为任何。Reg,粘贴下面的代码,保存它,然后双击它将其添加到注册表中(或者只要手动将信息添加到注册表中,如果您了解这个. Reg文件中发生了什么)。

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\""

更新:在windows更新后,Win10删除了cmd-here功能。要重新激活它,你必须使用:

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\""

ShowBasedOnVelocityId为必选项

在Windows Vista、Windows 7和Windows 10上,只需按住Shift键并右键单击文件夹即可。

上下文菜单将包含一个标题为“此处打开命令窗口”的条目。

更新:在浏览器地址栏中输入“cmd”并回车

更新2:在windows 10中,进入文件菜单并选择“打开windows PowerShell”。有一个以管理员身份运行的选项。

更新3:您还可以通过进入文件菜单添加一个快速访问快捷方式,右键单击“打开windows powershell”并选择“添加到快速访问工具栏”,然后只需单击即可立即访问powershell

而不是把它保存成一个快捷方式,这就是我的做法,我发现它非常有用。已经有答案可以作为快捷方式显示了,但我只是想分享这个,尤其是我发现它对angular项目非常有用。

创建一个新的txt文件 然后把下面的代码写进去。 @ECHO掉 cd C: \ YourProjectPath \ FolderPath \ 另存为。bat文件,取一个方便的名字。(我通常把它存为 “goto-myProjectName.bat” 然后将该bat文件复制到默认路径(当您运行cmd, 不管你的默认路径是什么,它都从它开始。例如,在 我的电脑是windows/system32。 然后输入bat文件的名称,去掉扩展名。 例如:goto-myProjectName

那它应该会带你去那里。

如果你从任务栏启动cmd,这是你需要做的:

在命令提示符上右键单击——>——>属性

然后在属性窗口中更改Start in的值:

此解决方案不适用于以管理员身份打开命令提示符

你还可以这样做:

[HKEY_CLASSES_ROOT\Directory\shell\cmd]
@="command prompt here"
[HKEY_CLASSES_ROOT\Directory\shell\cmd\command]
@="cmd.exe /c start \"%1\" cmd.exe /k cd /d %1"
[HKEY_CLASSES_ROOT\Drive\shell\cmd]
@="command prompt here"
[HKEY_CLASSES_ROOT\Drive\shell\cmd\command]
@="cmd.exe /c start \"%1\" cmd.exe /k cd /d %1"

更新:Win10你需要ShowBasedOnVelocityId -见上面的答案。