Як додати контекстне меню у папках бібліотеки Windows 7


7

Я щойно закінчив налаштування свого середовища Dev на ПК з Windows 7. Для використання в командному рядку та терміналах я встановив програму під назвою 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"

Це чудово працює, тепер я бачу контекстне меню, щоб відкрити вікно терміналу на шляху папки двома способами.

  1. Клацнувши правою кнопкою миші на назві папки, вона покаже "Відкрити консоль2 тут"
  2. Відкриваючи папку і клацаючи правою кнопкою у фоновому режимі, я можу побачити те саме контекстне меню, щоб відкрити термінал.

Тепер моя проблема полягає в тому, що я часто отримую доступ до папок і робочих областей за допомогою бібліотек Windows, і це робить моє контекстне меню не працює, коли я отримую доступ до папки через Бібліотеку, а не переходжу безпосередньо до папки.

Наприклад, якщо я відкрию Провідник і перейдіть до ...

E:\Server\htdocs\labs\javascript\SampleJSProject тоді я можу переглядати та використовувати своє власне контекстне меню.

Однак якщо я отримую доступ до тієї самої папки за допомогою ярлика / бібліотеки, шлях потім виглядає так ...

Libaries\Server Labs\javascript\SampleJSProjectі тепер моє контекстне меню для відкриття терміналу не відображається. Якщо я натискаю в області Адреса, то він показує правильний повний шлях, як зазначено вище.

Я сподіваюся, що це просте рішення, як-от додати десь інший ключ реєстру, але я не знаю, де?

Хтось має ідеї чи рішення?


Ви можете натиснути правою кнопкою миші> Відкрити розташування папки перед відкриттям консолі. Вигляд тимчасового рішення, але воно працює.
Сем

Відповіді:


9

Хитрість тут полягає в тому, що в папках бібліотеки є свій ключ.

Як не дивно його "Папки бібліотеки", тож вам потрібно буде змінити ЦІЙ ключ, щоб отримати потрібний ефект.

Наприклад, щоб додати контекстну запис «Відкрити вікно команди тут» до папки бібліотеки, використовуйте наступний рег .:

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

HTH

- (е)


3
Я давно шукав цю функціональність, дякую за обмін!
JasonDavis

1
Дивовижно ... все тому, що це не працювало, було через те, що провідник по-різному ставився до папок бібліотеки. Дякую за це!
Талієсін

@jasondavis, будь ласка, позначте відповідь правильною, якщо вона працювала для вас.
sweetlilmre

0

Щоб розширити відповідь sweetlilmre :

Якщо у вас немає прав на редагування HKEY_CLASSES_ROOT(проблема, яка виникла у мене на ноутбуці моєї компанії), ви також можете редагувати HKEY_CURRENT_USER\Software\Classes\LibraryFolder\Background\shell\cmd\command.
Можливо, вам доведеться створити LibraryFolderі його під-ключі (мені довелося), але достатньо створити порожні ключі.
cmdтакож можна назвати по-різному, єдине, що має значення, - це значення цього ключа (який є текстом, показаним у контекстному меню) та commandключа, значення якого буде виконано. Мабуть, цілком достатньо для використання cmd.exeв якості команди; командний рядок автоматично запускається в каталозі, в якому ви клацнули правою кнопкою миші, додаткові параметри не потрібні (принаймні, в Win 7 Enterprise, який я використовую).

Я не особливо знайомий зі сценаріями редагування реєстру, тому це робив вручну. Якщо хтось знає, як сформулювати інформацію вище в сценарії, сміливо відредагуйте її у цій відповіді.

Бонус: якщо ви додасте рядовий ключ до cmd(або як би ви його назвали) під назвою "Ікона" і встановите "cmd.exe", запис вашого контекстного меню також буде супроводжуватися піктограмою.

Ознайомтеся з цими зображеннями про те, як повинен виглядати ваш реєстр після вищезазначених кроків (як уже згадувалося, LibraryFolderдочірнє HKEY_CURRENT_USER\Software\Classes)

введіть тут опис зображення

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.