Оболочка Windows добавляет элемент в контекстное меню при нажатии на пустую часть папки - PullRequest
24 голосов
/ 04 февраля 2011

Извините, если об этом спрашивали раньше, я осматривался и мне трудно найти то, что я хочу.

Я знаю, как добавить пункт контекстного меню в папку, например:

[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 ]

44 голосов
/ 04 февраля 2011

Я разобрался с ответом. Папка на самом деле 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\"\""

Источник: Комментарий Савьерта на http://www.howtogeek.com/howto/windows-vista/make-command-prompt-here-always-display-for-folders-in-windows-vista#comment-57856

4 голосов
/ 16 июля 2013

Консоль2 скалы.Я добавил пункт «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\"\\"

Бонус «bash here» (предполагается, что у вас есть вкладка Console2 с именем «bash»).

[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\"\\"
1 голос
/ 12 ноября 2014

Ничего из вышеперечисленного не помогло мне.

Но это так (проверено на 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 (конечно).

1 голос
/ 04 февраля 2011

Я думаю, что соответствующая часть установщика TortoiseSVN - здесь . Возможно, вы сможете выяснить все необходимые ключи реестра из этого.

0 голосов
/ 27 января 2014

Согласно моему личному опыту работы с Windows XP (SP3), вы можете открыть Console2 внутри каталога current с записью в контекстном меню, используя следующий файл .reg:

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


Если вы посмотрите на значение ключа внутри regedit.exe, вы должны увидеть:
C:\Program Files\Console\console.exe -d "%1"


вместо:

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

Последний откроет Console2 в своем начальном каталоге по умолчанию.

0 голосов
/ 30 декабря 2011

Этого можно достичь и в XP.Сначала откройте программу Выполнить с помощью клавиши Windows + R и введите Regedit в текстовом поле.Нажмите Ввод.В Реестре откройте Ключ: HKEY_CLASSES_ROOT и затем: * Теперь вы увидите ключ с именем: shell Щелкните правой кнопкой мыши на shell и укажите New.Нажмите в меню де ключ.Теперь введите имя по вашему выбору, которое вы хотите, чтобы появиться в меню правой кнопкой мыши.Щелкните правой кнопкой мыши на названии, которое вы выбрали, снова укажите New и нажмите Key.Теперь введите: command Нажмите на команду и на правой панели реестра дважды щелкните по (По умолчанию).В текстовом поле «Значения данных» введите путь к приложению, которое вы хотите открыть, через выбранное имя в контекстном меню.Например: «C: \ Program Files \ CCleaner \ CCleaner.exe» Затем введите после пути:% 1 и оставьте пробел между концом пути и% 1. Он должен выглядеть следующим образом:

"C: \ Program Files \ CCleaner \ CCleaner.exe"% 1

Таким образом, можно открыть любое приложение, которое вы хотите.Есть только один недостаток, вы должны щелкнуть правой кнопкой мыши другой файл, чтобы увидеть выбранное имя, с которым вы можете открыть приложение.Когда вы щелкаете правой кнопкой мыши по папке, это не будет работать.

0 голосов
/ 14 сентября 2011

@ Бен Фойгт упомянул TortoiseSVN, вы также можете увидеть Исходный код расширения оболочки WinMerge или наконец: создать собственное расширение с нуля ; Я хотел сделать что-то подобное для XP, но сейчас у меня много других дел.

В качестве обходного пути вы можете просто открыть папку в XP, а затем выбрать View->Explorer Bar->Folders, чтобы дерево папок было слева, и затем вы можете щелкнуть правой кнопкой мыши по папке (активная папка будет подсвечена автоматически).

command prompt on right click

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...