
Acabo de terminar de configurar mi entorno de desarrollo en una PC con Windows 7. Para usar la línea de comandos y la Terminal, instalé el programa llamado Console2, que es sorprendente para cualquiera que use la Terminal en una máquina con Windows.
Una de las cosas importantes que necesitaba era la capacidad de acceder rápidamente a las carpetas en la terminal sin tener que hacerlo siempre. cd /directroy/name/etc/etc
Mi objetivo era un menú contextual al hacer clic derecho dentro de una carpeta en el Explorador.
Pude hacer esto con las siguientes modificaciones/adiciones de la clave de registro
[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"
Funciona muy bien, ahora puedo ver un menú contextual para abrir una ventana de terminal en la ruta de una carpeta de 2 maneras.
- Al hacer clic derecho en el nombre de una carpeta, se mostrará "Abrir Console2 aquí".
- Al abrir una carpeta y hacer clic derecho en segundo plano, también puedo ver el mismo menú contextual para abrir la terminal.
Ahora mi problema es que a menudo accedo a carpetas y áreas de trabajo usando las Bibliotecas de Windows, esto hace que mi menú contextual no funcione cuando accedo a una carpeta a través de la Biblioteca en lugar de ir directamente a la carpeta.
Por ejemplo, si abro el Explorador y voy a...
E:\Server\htdocs\labs\javascript\SampleJSProject
entonces puedo ver y usar mi menú contextual personalizado.
Sin embargo, si accedo a esa misma carpeta usando mi acceso directo/bibliotecas, la ruta se verá así...
Libaries\Server Labs\javascript\SampleJSProject
y ahora mi menú contextual para abrir la terminal no aparece. Sin embargo, si hago clic en el área de Dirección, se muestra la ruta completa correcta como se indica arriba.
Espero que sea una solución fácil, como agregar otra clave de registro en algún lugar pero no estoy seguro de dónde.
¿Alguien tiene alguna idea o solución?
Respuesta1
El truco aquí es que las carpetas de la biblioteca tienen su propia clave.
Por extraño que parezca, son "Carpetas de biblioteca", por lo que deberá modificar ESA clave para obtener el efecto que desea.
Por ejemplo, para agregar la entrada de contexto "Abrir ventana de comando aquí" a una carpeta de biblioteca, use el siguiente registro:
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\""
HT
-(mi)
Respuesta2
Para ampliarLa respuesta de sweetlilmre:
Si no tiene derechos para editar HKEY_CLASSES_ROOT
(un problema que me surgió en la computadora portátil de mi empresa), también puede editar HKEY_CURRENT_USER\Software\Classes\LibraryFolder\Background\shell\cmd\command
.
Es posible que tengas que crear LibraryFolder
sus subclaves (tuve que hacerlo), pero es suficiente crear claves vacías.
cmd
También se puede nombrar de otra manera, lo único que importa es el valor de esa clave (que es el texto que se muestra en el menú contextual) y la command
clave, cuyo valor se ejecutará. Aparentemente es suficiente usarlo cmd.exe
como comando; la línea de comando se inicia automáticamente en el directorio en el que hizo clic derecho, no se necesitan parámetros adicionales (al menos en Win 7 Enterprise, que estoy usando).
No estoy particularmente familiarizado con los scripts de edición del registro, así que hice esto manualmente. Si alguien sabe cómo expresar la información anterior en un guión, no dude en editarla en esta respuesta.
Bonificación: si agrega una clave de cadena cmd
(o como le llame) llamada "Icono" y la configura en "cmd.exe", la entrada del menú contextual también irá acompañada de un icono.
Vea estas imágenes sobre cómo debería verse su registro después de los pasos anteriores (como se mencionó, LibraryFolder
es hijo de HKEY_CURRENT_USER\Software\Classes
):