单击文件夹的空白部分时,Windows shell将项添加到上下文菜单

时间:2011-02-04 19:22:31

标签: windows shell registry contextmenu

很抱歉,如果之前有人询问过,我一直在四处看看,很难找到我想要的东西。

我知道如何将上下文菜单项添加到文件夹中,如下所示:

[HKEY_CLASSES_ROOT\Folder\shell\console2]
@="Open Console2 Here"

[HKEY_CLASSES_ROOT\Folder\shell\console2\command]
@="C:\\Program Files\\Console\\console.exe -d \"\"%1\"\""

但是,这只适用于右键单击文件夹。我想要它,以便您可以在文件夹中,并单击该文件夹的空白部分并获取上下文菜单项。我也试过了HKEY_CLASSES_ROOT\Directory\shell,但也是这样。

7 个答案:

答案 0 :(得分:44)

我想出了答案。该文件夹实际上是Directory\Background,您必须将空字符串值NoWorkingDirectory添加到其中,并且命令中的%1变为%V

[HKEY_CLASSES_ROOT\Directory\Background\shell\console2]
@="Open Console2 Here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\console2\command]
@="C:\\Program Files\\Console\\console.exe -d \"\"%V\"\""

来源: saviert在http://www.howtogeek.com/howto/windows-vista/make-command-prompt-here-always-display-for-folders-in-windows-vista#comment-57856

的评论

答案 1 :(得分:4)

Console2摇滚。我在我的资源管理器上下文菜单中添加了一个'Cmd here(Console2)'项目。

enter image description here

将下面的文本保存在名为open-console2.reg的文件中,然后将其打开以将其导入Windows注册表。

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\console2]
@="Cmd here (Console2)"
"NoWorkingDirectory"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\console2\command]
@="\"C:\\Program Files (x86)\\Console2\\Console.exe\" -d \"%V\"\\"

Bonus'bash here'项目(假设您有一个名为'bash'的Console2标签页)。

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\console2_bash]
@="Bash here (Console2)"
"NoWorkingDirectory"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\console2_bash\command]
@="\"C:\\Program Files (x86)\\Console2\\Console.exe\" -t Bash -d \"%V\"\\"

答案 2 :(得分:1)

我认为TortoiseSVN安装程序的相关部分是here。也许你可以从中找出所有必要的注册表项。

答案 3 :(得分:1)

以上都不适合我。

但这样做(在Windows 7 Pro x64上测试):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Folder\shell\Open console here\command]
@="u:\\users\\dave\\data\\bin\\Console2\\Console.exe cmd -r \"/k pushd %L\""

将路径替换为console.exe副本的路径(当然)。

答案 4 :(得分:0)

@Ben Voigt提到了TortoiseSVN,你也可以看到WinMerge shell extension source code,或者最后:create your own extension from scratch;我想为XP做类似的事情,但我现在还有很多其他事情需要做。

作为一种解决方法,您只需在XP中打开一个文件夹,然后选择View->Explorer Bar->Folders,在左侧放置文件夹树,然后您就可以右键单击该文件夹(活动文件夹自动获得高亮显示) )。

command prompt on right click

答案 5 :(得分:0)

根据我个人使用Windows XP(SP3)的经验,您可以使用以下.reg文件使用上下文菜单条目在当前目录中打开Console2:


  Windows Registry Editor Version 5.00 
[HKEY_CLASSES_ROOT\Folder\shell\console2]
@="Console2 Here"
[HKEY_CLASSES_ROOT\Folder\shell\console2\command]
@="C:\Program Files\Console\console.exe -d \"%1\""


如果查看regedit.exe中的键值,您应该看到:

C:\Program Files\Console\console.exe -d "%1"


而不是:

C:\Program Files\Console\console.exe -d ""%1"" 

后者会在默认的启动目录中打开Console2。

答案 6 :(得分:-1)

这也可以在XP中实现。 首先打开程序运行Windows键+ R, 并在文本框中键入Regedit。 按Enter键。 在注册表中打开密钥:HKEY_CLASSES_ROOT 然后 : * 您现在将看到一个名为shell的密钥 右键单击shell并指向New。 单击Key上的菜单。 现在,在“右键单击”菜单中键入您想要显示的名称。 右键单击您选择的名称,再次指向“新建”,然后单击“密钥”。 现在输入:command 单击命令并在注册表的右窗格中双击(默认)。 在文本框的“数据数据”中,在右键单击菜单中键入要通过所选名称打开的应用程序的路径。 例如:“C:\ Program Files \ CCleaner \ CCleaner.exe” 然后在路径后输入:%1, 并在路径的末尾和%1之间留一个空格 它应该是这样的:

“C:\ Program Files \ CCleaner \ CCleaner.exe”%1

这样,就可以打开你想要的任何类型的应用程序。 只有一个缺点, 您必须右键单击另一个文件才能看到用于打开应用程序的所选名称。 当您右键单击文件夹时,这将无效。