我刚刚在 Windows 7 PC 上设置好开发环境。为了使用命令行和终端,我安装了名为 Console2 的程序,对于在 Windows 机器上使用终端的人来说,它非常棒。
我需要的一件重要的事情是能够快速访问终端中的文件夹,而不必总是cd /directroy/name/etc/etc
这样做,我的目标是在资源管理器中的文件夹内单击右键以显示上下文菜单。
我能够通过以下注册表项修改/添加来完成此操作
[HKEY_CLASSES_ROOT\Directory\shell\open_console]
@=Open Console2 Here
Icon=C:\Program Files\Console2\Console.ico
[HKEY_CLASSES_ROOT\Directory\shell\open_console\Command]
@=C:\Program Files\Console2\Console.exe -d "%v"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\open_console]
@=Open Console2 Here
Icon=C:\Program Files\Console2\Console.ico
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\open_console\Command]
@=C:\Program Files\Console2\Console.exe -d "%v"
它运行得很好,我现在可以看到一个上下文菜单,以两种方式在文件夹路径上打开一个终端窗口。
- 右键单击文件夹名称,它将显示“在此打开控制台 2”
- 通过打开文件夹并在后台右键单击,我可以看到相同的上下文菜单以打开终端。
现在我的问题是我经常使用 Windows 库访问文件夹和工作区,当我通过库访问文件夹而不是直接转到该文件夹时,这会导致我的上下文菜单不起作用。
例如,如果我打开 Explorer 并转到...
E:\Server\htdocs\labs\javascript\SampleJSProject
然后我可以查看和使用我的自定义上下文菜单。
但是,如果我使用快捷方式/库访问同一个文件夹,则路径如下所示...
Libaries\Server Labs\javascript\SampleJSProject
现在我的上下文菜单打开终端不显示。如果我单击地址区域,它会显示如上列出的正确完整路径。
我希望这是一个简单的解决方案,比如在某处添加另一个注册表项,但我不确定在哪里?
有人有什么想法或解决方案吗?
答案1
这里的技巧是库文件夹有自己的密钥。
奇怪的是,它是“LibraryFolders”,所以您需要修改该键才能获得想要的效果。
例如,要将“在此处打开命令窗口”上下文条目添加到库文件夹,请使用以下注册表项:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\LibraryFolder\Background]
[HKEY_CLASSES_ROOT\LibraryFolder\Background\shell]
[HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\cmd]
@="@shell32.dll,-8506"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\cmd\command]
@="cmd.exe /s /k pushd \"%V\""
高血压
-(e)
答案2
如果您没有编辑权限HKEY_CLASSES_ROOT
(这是我在公司笔记本电脑上遇到的问题),您也可以编辑HKEY_CURRENT_USER\Software\Classes\LibraryFolder\Background\shell\cmd\command
。
您可能必须创建LibraryFolder
及其子键(我必须这样做),但创建空键就足够了。
cmd
也可以以不同的方式命名,唯一重要的是该键的值(即上下文菜单中显示的文本)和command
将执行其值的键。显然,将其用作cmd.exe
命令就足够了;命令行会自动在您右键单击的目录中启动,无需其他参数(至少在我使用的 Win 7 Enterprise 上)。
我对注册表编辑脚本不是特别熟悉,所以我手动完成了这些工作。如果有人知道如何在脚本中表达上述信息,请随意将其编辑到此答案中。
奖励:如果您添加一个字符串键cmd
(或任何您命名的键)称为“Icon”并将其设置为“cmd.exe”,那么您的上下文菜单条目也将附带一个图标。
请查看以下图片,了解完成上述步骤后您的注册表应如何显示(如上所述,LibraryFolder
是的子级HKEY_CURRENT_USER\Software\Classes
):