Откройте Cygwin/MinGW/PowerShell/Cmd в текущей папке, открытой в проводнике Windows.

Откройте Cygwin/MinGW/PowerShell/Cmd в текущей папке, открытой в проводнике Windows.

Допустим, у меня в проводнике Windows открыта папка, например такая:

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

Я хочу, чтобы я мог открыть терминал Cygwin прямо здесь, используя сочетание клавиш или alteast, щелкнув правой кнопкой мыши и выбрав опцию во всплывающем меню, которая позволяет это сделать. Мне также часто нужно будет открывать MinGW, PowerShell или Windows Command Terminal таким образом в определенном каталоге.

Сейчас я открываю терминал, копирую-вставляю и путь и использую команду CD, чтобы сменить каталог. Но я уверен, что должен быть более быстрый способ сделать это, когда нам нужно делать это десятки раз каждый день на протяжении десятилетий.

Кстати, я использую Windows 10 и, вероятно, скоро перейду на Windows 11.

решение1

Контекстное меню фона папки управляется ключом HKEY_CLASSES_ROOT\Directory\background\shellреестра. Например, запись «Открыть с помощью Visual Studio» управляется подключом AnyCode.

Командная строка и PowerShell

В Windows 10 уже есть записи для cmd.exeи powershell.exe, но по умолчанию они скрыты. Вы можете отобразить PowerShell, удерживая клавишу Shiftи щелкнув правой кнопкой мыши фон окна папки. Командная строка скрыта, если PowerShell установлен с использованием значения HideBasedOnVelocityId.

Чтобы всегда отображать командную строку и PowerShell в фоновом контекстном меню папки без необходимости удерживать клавишу Shift:

  1. Предоставьте себе разрешение на изменение shellключа.
    1. Щелкните правой кнопкой мыши по ключу в редакторе реестра.
    2. Выберите «Разрешения» > «Дополнительно».
    3. Измените владельца на Administratorsи установите флажки «Заменить владельца подконтейнеров и объектов» и «Заменить все записи разрешений дочерних объектов на наследуемые записи разрешений этого объекта».
    4. Нажмите «ОК», чтобы закрыть диалоговые окна «Разрешения».
  2. В обоих cmdподразделах и PowerShellудалите или переименуйте значения Extended, HideBasedOnVelocityIdи ShowBasedOnVelocityId.

всегда показывать cmd

Теперь, если щелкнуть правой кнопкой мыши по фону папки, в контекстном меню должны появиться пункты «Открыть окно команд здесь» и «Открыть окно PowerShell здесь».

Новые записи

Чтобы добавить новые записи в контекстное меню фона папки, вы можете создать новые ключи в разделе HKEY_CLASSES_ROOT\Directory\background\shellреестра.

  • Имя нового ключа может быть любым уникальным именем, оно не отображается в пользовательском интерфейсе.
  • Текстовая метка записи контекстного меню управляется значением (Default)ключа.
  • Необязательный значок записи контролируется Iconстроковым значением в подключе. Это может быть имя файла ICO или PE-файла (DLL/EXE) с необязательным числовым идентификатором, разделенным запятой. Индекс может быть неотрицательным для индекса значка в PE-файле, начинающегося с 0, или отрицательным для идентификатора ресурса.
  • Программа и аргументы для запуска при щелчке по записи контролируются значением (Default)подключаемого commandключа. Он использует %Vпеременную-заполнитель для представления текущего каталога.

Пример MinGW Bash

У меня установлен MinGW Bash как часть Git для Windows. Вот .regфайл, который добавляет его в контекстное меню фона моей папки. Ваш каталог установки, вероятно, будет отличаться.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\bash]
@="Open in Bash"
"Icon"="C:\\Programs\\Development\\Git\\mingw64\\share\\git\\git-for-windows.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\bash\command]
@="\"C:\\Programs\\Development\\Git\\bin\\bash.exe\""

Это открывает Bash в указанной папке, даже если команда не использует %V, поскольку Windows запускает процесс с папкой в ​​качестве рабочего каталога нового процесса по умолчанию (если только NoWorkingDirectoryв ключе не указано значение).

bash в контекстном меню папки

У меня больше не установлен Cygwin, но пункт меню для Bash, скорее всего, можно добавить аналогичным образом.

В Windows 11 пункт «Открыть в терминале» всегда виден в соответствующем меню, хотя его сложнее настроить.

Связанный контент