Abra Cygwin/MinGW/PowerShell/Cmd en la carpeta actual abierta en el Explorador de Windows

Abra Cygwin/MinGW/PowerShell/Cmd en la carpeta actual abierta en el Explorador de Windows

Digamos que tengo una carpeta abierta en el Explorador de Windows como esta:

ingrese la descripción de la imagen aquí

Quiero poder abrir una terminal Cygwin directamente aquí usando el método abreviado de teclado o al menos haciendo clic derecho y seleccionando una opción en el menú emergente que permita hacerlo. A menudo también necesitaré abrir MinGW, PowerShell o Windows Command Terminal de esta manera en un directorio específico.

En este momento abro la terminal y luego copio y pego la ruta y uso el comando CD para cambiar el directorio. Pero estoy seguro de que debe haber una manera más rápida de hacer esto cuando necesitamos hacerlo docenas de veces al día durante décadas.

Por cierto, estoy usando Windows 10 y probablemente pronto pasaré a Windows 11.

Respuesta1

El menú contextual de fondo de la carpeta está controlado por la HKEY_CLASSES_ROOT\Directory\background\shellclave de registro. Por ejemplo, la entrada "Abrir con Visual Studio" está controlada por la AnyCodesubclave.

Símbolo del sistema y PowerShell

Windows 10 ya tiene entradas para cmd.exey powershell.exe, pero están ocultas de forma predeterminada. Puede mostrar el de PowerShell manteniendo presionada la Shifttecla mientras hace clic derecho en el fondo de la ventana de la carpeta. El símbolo del sistema está oculto cuando PowerShell se instala usando el HideBasedOnVelocityIdvalor.

Para mostrar siempre el símbolo del sistema y PowerShell en el menú contextual de fondo de la carpeta, sin necesidad de mantener presionado Shift:

  1. Date permisos para modificar la shellclave.
    1. Haga clic derecho en la clave en el Editor del Registro.
    2. Elija Permisos > Avanzado.
    3. Cambie el Propietario a Administratorsy marque "Reemplazar propietario en subcontenedores y objetos" y "Reemplazar todas las entradas de permisos de objetos secundarios con entradas de permisos heredables de este objeto".
    4. Haga clic en Aceptar para cerrar los cuadros de diálogo Permisos.
  2. En las subclaves cmdy PowerShell, elimine o cambie el nombre de los valores Extended, HideBasedOnVelocityIdy ShowBasedOnVelocityId.

mostrar siempre cmd

Ahora, cuando haga clic derecho en el fondo de una carpeta, debería ver "Abrir ventana de comando aquí" y "Abrir ventana de PowerShell aquí" en el menú contextual.

Nuevas entradas

Para agregar nuevas entradas al menú contextual de fondo de la carpeta, puede crear nuevas claves en la HKEY_CLASSES_ROOT\Directory\background\shellclave de registro.

  • El nombre de la nueva clave puede ser cualquier nombre único que desee; no aparece en la interfaz de usuario.
  • La etiqueta de texto de la entrada del menú contextual está controlada por el (Default)valor de la clave.
  • El icono opcional de la entrada está controlado por el Iconvalor de cadena en la subclave. Puede ser el nombre de un archivo ICO o un archivo PE (DLL/EXE) con un ID numérico opcional separado por una coma. El índice puede ser no negativo para el índice basado en 0 del icono en el archivo PE o negativo para el ID del recurso.
  • El programa y los argumentos que se ejecutarán al hacer clic en la entrada están controlados por el (Default)valor de la commandsubclave. Utiliza la %Vvariable de marcador de posición para representar el directorio actual.

Ejemplo de MinGW Bash

Tengo MinGW Bash instalado como parte de Git para Windows. Aquí hay un .regarchivo que lo agrega al menú contextual de fondo de mi carpeta. Su directorio de instalación probablemente será diferente.

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

Esto abre Bash en la carpeta dada, aunque el comando no use %V, porque Windows inicia el proceso con la carpeta como el directorio de trabajo del nuevo proceso de forma predeterminada (a menos que NoWorkingDirectoryhaya un valor presente en la clave).

bash en el menú contextual de la carpeta

Ya no tengo Cygwin instalado, pero lo más probable es que se pueda agregar una entrada de menú para su Bash de manera similar.

Windows 11 tiene una entrada "Abrir en Terminal" siempre visible en el menú equivalente, aunque es más difícil de personalizar.

información relacionada