在 Windows 資源管理器中開啟的目前資料夾中開啟 Cygwin/MinGW/PowerShell/Cmd

在 Windows 資源管理器中開啟的目前資料夾中開啟 Cygwin/MinGW/PowerShell/Cmd

假設我在 Windows 資源管理器中開啟了一個資料夾,如下所示:

在此輸入影像描述

我希望能夠透過使用鍵盤快捷鍵直接在此處開啟 Cygwin 終端,或透過右鍵單擊並在彈出式選單上選擇選項來開啟 Cygwin 終端。我還經常需要在特定目錄中以這種方式開啟 MinGW、PowerShell 或 Windows 命令終端。

現在我打開終端,然後複製貼上和路徑並使用 CD 命令更改目錄。但是,我確信,當我們需要數十年每天執行此操作數十次時,必須有更快的方法來執行此操作。

順便說一下,我正在使用 Windows 10,並且可能很快就會遷移到 Windows 11。

答案1

資料夾背景上下文選單由註冊表項控制HKEY_CLASSES_ROOT\Directory\background\shell。例如,「使用 Visual Studio 開啟」條目由子項控制AnyCode

命令提示字元和 PowerShell

Windows 10 已經有cmd.exe和的項目powershell.exe,但預設情況下它們是隱藏的。您可以按住Shift按鍵的同時右鍵點選資料夾視窗的背景來顯示 PowerShell 。使用該值安裝 PowerShell 時隱藏命令提示字元HideBasedOnVelocityId

若要始終在資料夾背景上下文功能表中顯示命令提示字元和 PowerShell,而無需按住Shift

  1. 授予自己修改shell金鑰的權限。
    1. 右鍵點選登錄編輯器中的登錄項目。
    2. 選擇“權限 > 進階”。
    3. 將擁有者變更為Administrators,並選取「取代子容器和物件的擁有者」和「用該物件的可繼承權限條目取代所有子物件權限條目」。
    4. 按一下「確定」關閉「權限」對話框。
  2. 在 和cmdPowerShell項中,刪除或重新命名ExtendedHideBasedOnVelocityIdShowBasedOnVelocityId值。

總是顯示cmd

現在,當您右鍵單擊資料夾的背景時,您應該在上下文功能表中看到「在此處開啟命令視窗」和「在此處開啟 PowerShell 視窗」。

新條目

若要將新條目新增至資料夾背景上下文功能表,您可以在HKEY_CLASSES_ROOT\Directory\background\shell註冊表項中建立新項目。

  • 新金鑰的名稱可以是您想要的任何唯一名稱,它不會出現在 UI 中。
  • (Default)上下文選單條目的文字標籤由鍵中的值控制。
  • Icon條目的可選圖示由子項目中的字串值控制。它可以是 ICO 檔案的檔案名,也可以是帶有以逗號分隔的可選數字 ID 的 PE 檔案 (DLL/EXE) 的檔案名稱。對於 PE 檔案中圖示的從 0 開始的索引,索引可以為非負數;對於資源 ID,索引可以為負數。
  • (Default)按一下該條目時要執行的程式和參數由子項的值控制command。它使用%V佔位符變數來表示當前目錄。

MinGW Bash 範例

我安裝了 MinGW Bash 作為 Windows 版 Git 的一部分。這是一個.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 有一個「在終端機中開啟」條目,該條目始終在等效選單中可見,儘管自訂起來更具挑戰性。

相關內容