Terminal: Agregue "abrir terminal de Windows aquí" en el menú contextual del botón derecho

Creado en 30 may. 2019  ·  235Comentarios  ·  Fuente: microsoft/terminal

¿Agregar "abrir terminal de Windows aquí" al menú contextual del botón derecho del ratón?

Sabemos que, para Windows 7, por defecto cuando hacemos clic en "shift + clic derecho con el mouse" cuando ingresamos a una carpeta sin seleccionar nada, podemos ver la opción "abrir ventana de comandos aquí".

image

Mientras que para Windows 10, por defecto cuando hacemos clic en "shift + clic derecho con el mouse", podemos ver la opción "abrir ventana de powershell aquí".

Entonces, para Windows 10 (versión posterior a 1903), ¿cómo podemos hacer que las siguientes tres opciones estén disponibles en el menú contextual del botón derecho?

  • abre la ventana de comando aquí
  • abre la ventana de powershell aquí
  • abre la terminal de Windows aquí

Esperando su respuesta, muchas gracias ~

Area-User Interface Help Wanted Issue-Feature Product-Terminal Resolution-Fix-Committed

Comentario más útil

Para que conste, creo que preferiríamos que el terminal registre automáticamente este acceso directo en nombre del usuario.

Todos 235 comentarios

Si lo agrega, creo que debería tener una opción de selección más en la terminal de Windows abierta aquí para seleccionar realmente qué shell abrir como submenú del menú contextual (o así) con el 'nombre' escrito en los perfiles de la terminal, como

  • Potencia Shell
  • CMD
  • Ubuntu

Creo que esta es una buena solicitud de función y algo en lo que definitivamente aceptaremos la ayuda de la comunidad.

Mi instinto dice que estaría relacionado con el trabajo para # 689, pero no sé lo suficiente sobre Win32 para estar seguro.

Esto es probablemente algo como esto: https://www.codeproject.com/Articles/441/The-Complete-Idiot-s-Guide-to-Writing-Shell-Extens

Pero con suerte sin volver a introducir ATL en nuestro código base ...

Es mucho, _way_ más fácil que eso para agregar un solo comando al menú contextual de una carpeta. Es solo una simple clave de registro.

Por ejemplo (y luego también puede agregar un ícono, etc.)

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\Open Thing Here\command]
@="C:\\thing.exe \"%1\""

para aplicaciones empaquetadas, esto se declara en el manifiesto. vea esto: https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-uap-filetypeassociation. No creo que esto admita carpetas, pero comience a buscar aquí.

Probablemente un duplicado del # 561, pero lo rastrearemos aquí.

@miniksa @ zadjii-msft @ DHowett-MSFT @factormystic @ChrisGuzak

Resolví el problema ahora, podría cerrarse. Muchas gracias a todos los que participaron en esta discusión.

Paso 0:

Pruebe si las dos constantes siguientes funcionan bien, que se utilizarán en los siguientes pasos.

echo %USERPROFILE%

echo %LOCALAPPDATA%

Si todo funciona bien aquí, estas dos constantes se pueden usar directamente en otros pasos a continuación.

O realice los siguientes reemplazos en los pasos siguientes:

% PERFIL DE USUARIO% → C:\Users\[userName]
% LOCALAPPDATA% → C:\Users\[userName]\AppData\Local

Aquí [userName] representa su nombre de usuario, por ejemplo, el mío es Bruce .

Paso 1:
Ejecute debajo de las cosas en CMD :

mkdir "%USERPROFILE%\AppData\Local\terminal"

image

Paso 2:
Copie el icono del terminal de Windows en la carpeta %USERPROFILE%\AppData\Local\terminal , el icono se puede obtener en https://github.com/yanglr/WindowsDevTools/tree/master/awosomeTerminal/icons cuyo nombre de archivo es wt_32.ico .

Paso 3:
Guarde el siguiente contenido como wt.reg , luego ejecútelo como administrador.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"="%USERPROFILE%\\AppData\\Local\\terminal\\wt_32.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"

Cabe señalar que si el exe obtenido después de la construcción del código es wtd.exe , debe cambiar el anterior wt.exe a wtd.exe en el registro anterior.

Etapa 4:
Prueba
image

Eso no funcionó para mí (no puedo acceder al error), y para mí fue wtd.exe (ni siquiera funcionó).
Y creo que esta podría ser la función de terminal.

@ SJang1
Supongo que usaste la versión que creaste, así que necesitas usar wtd.exe . Para que la versión oficial entrante ingrese en Windows Store , wt.exe es la opción correcta aquí. Por ahora, puede obtener la versión de vista previa aquí ( .7z archivo en https://github.com/yanglr/WindowsDevTools/tree/master/awosomeTerminal ), luego use wt.exe después de la instalación. Adopté este método.

@yanglr He usado wtd.exe y no funcionó debido al error de no poder acceder a él. Sin embargo, todos los usuarios finales no pudieron agregar al registro uno por uno.

@ SJang1
Supongo que construiste el código en Debug mode , cámbialo a Release mode , mira a continuación:
image

@yanglr
Ya construido en versión.
image

Para que conste, creo que preferiríamos que el terminal registre automáticamente este acceso directo en nombre del usuario.

@ zadjii-msft
¡Genial!

Esto aún no se ha agregado, por lo que preferiría mantener este problema abierto hasta que se haya terminado el trabajo para agregarlo :)

¿Puedo intentarlo si nadie está trabajando en ello?

@MelulekiDube ¡adelante!

Mi consejo principal aquí sería que hemos estado tratando de mantener TerminalApp más similar a UWP y haciendo cosas similares a Win32 en el proyecto WindowsTerminal. Dado que esta característica es probablemente bastante pesada para Win32, probablemente sugiera algún tipo de evento que el App (en TerminalApp) pueda disparar para notificar al AppHost (en WindowsTerminal) que debería configurarse los atajos. Como ejemplo, creo que hay un evento TitleChanged que el App puede disparar para que el AppHost establezca el título de la ventana.

Además, dado que Profile no es un tipo winrt, puede ser difícil acceder a sus miembros directamente desde el proyecto WindowsTerminal. Es posible que tenga que hacer que App comunique los bits relevantes de Profile en el evento en sí. Alternativamente, puede intentar convertirlo en un tipo winrt (completo con un archivo .idl), pero eso podría ser un poco más difícil.

¡Buena suerte!

EDITAR: Reviso esta declaración a HERE BE DRAGONS . Hay trabajo que podría necesitar hacerse en el # 607 / # 1065 antes de que esto se pueda hacer.

Me preocupa que esto deba relacionarse bastante con el # 607, que aún se encuentra en la fase de especificaciones previas.

@ DHowett-MSFT ese es un buen punto. También me olvidé de la reciente regresión en el # 1065. En realidad, esto podría caer en la categoría de cosas _difíciles_. Incluso si no lo hiciéramos por perfil, abrir el perfil predeterminado en el directorio actual no funcionaría.

Ni siquiera sé cómo arreglaríamos # 1065, pero si lo arreglamos, entonces teóricamente podríamos encontrar alguna forma de crear la nueva instancia de Terminal de Windows usando el directorio del explorador, pero eso realmente no resolvería el problema. -problema de perfil. hmmmm.

¿Podría algo como exponer staringDirectory para que pueda pasarlo al exe una opción?

Sí, eso es parte del punto en el # 607.

Hola @yanglr ,
Este no es el lugar apropiado para tener esa discusión. Este número es para discutir la función "abrir Windows Terminal aquí".

@ DHowett-MSFT
Oh, lo siento, eliminado.

Creo que sería genial no solo "abrir la Terminal de Windows aquí", sino también "abrir la Terminal de Windows aquí (Administrador)" porque ambos son bien utilizados por todos.

Estaba pensando en esto
image
..y si le gusta lo que pensaba, parece que no hay lugar para ejecutarlo como administrador.

Estaba pensando en esto
image
..y si le gusta lo que pensaba, parece que no hay lugar para ejecutarlo como administrador.

... a menos que ponga un segundo menú principal "Abrir WT aquí (Administrador)" con los mismos elementos del submenú. Ambos deberían ser opcionales de todos modos, creo.

Edité el registro para agregar la opción al menú contextual. Sin embargo, se abre con C: \ Users \ username en lugar del directorio actual.

@minhtuanta

Me preocupa que esto deba relacionarse bastante con el # 607, que aún se encuentra en la fase de especificaciones previas.

¿Podría algo como exponer staringDirectory para que pueda pasarlo al exe una opción?

Sí, eso es parte del punto en el # 607.

wt.exe todavía no admite argumentos de línea de comando, por lo que no hay forma de anular la carpeta en la que comienza el nuevo perfil.

si pudiera hacer una sugerencia, diría que las opciones para abrir en PowerShell, CMD y / o terminal de Linux deberían ser reemplazadas por "Abrir en terminal de Windows" ya que el terminal de Windows es la combinación de los tres. Luego, un usuario puede establecer su valor predeterminado desde el archivo profile.json .

@yanglr @lllopo @ SJang1

Algo como esto _ debería_ funcionar por ahora. Lo escribí en PowerShell porque es para un script ISO de Windows posterior a la instalación, pero no veo ningún problema con el uso de esto en lugar de un archivo .reg.

Potencia Shell:

$Env.terminalDir ='$Env:localAppDir\Microsoft\WindowsApps' # Not really needed (except for icon), as wt.exe in in %PATH%

Invoke-WebRequest -UseBasicParsing "https://github.com/yanglr/WindowsDevTools/raw/master/awosomeTerminal/icons/wt_32.ico" -OutFile "$Env:terminalDir\wt.ico"  # Going to update my own to just grab icon from the appx package

Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\Background\shell\MenuTerminal' -Name 'MUIVerb' -Type String -Value 'Terminals'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\Background\shell\MenuTerminal' -Name 'Icon' -Type String -Value '$Env:terminalDir\wt.ico'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\Background\shell\MenuTerminal' -Name 'ExtendedSubCommandsKey' -Type String -Value 'Directory\\ContextMenus\\MenuTerminal'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'MUIVerb' -Type String -Value 'PowerShell'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'Icon' -Type String -Value 'PowerShell.exe'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'ExtendedSubCommandsKey' -Type String -Value 'Directory\\ContextMenus\\MenuTerminal\\PS'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\open' -Name 'MUIVerb' -Type String -Value 'PowerShell'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\open' -Name 'Icon' -Type String -Value '$Env:terminalDir\wt.ico'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\open\command' -Name '@' -Type String -Value 'wt.exe'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\runas' -Name 'MUIVerb' -Type String -Value 'Elevated PowerShell'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\runas' -Name 'Icon' -Type String -Value '$Env:terminalDir\wt.ico'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\runas' -Name 'HasLUAShield' -Type String -Value ''
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\runas\command'-Name '@' -Type String -Value 'wt.exe'

Y algo como esto _ debería_ funcionar cuando uno puede elegir entre CMD y PowerShell al iniciar la Terminal (asumiendo que usa --Profile [CMD | PowerShell] ):

Potencia Shell:

$Env.terminalDir ='$Env:localAppDir\Microsoft\WindowsApps'   # Not really needed (except for icon), as wt.exe in in %PATH%

Invoke-WebRequest -UseBasicParsing "https://github.com/yanglr/WindowsDevTools/raw/master/awosomeTerminal/icons/wt_32.ico" -OutFile "$Env:terminalDir\wt.ico"  # Going to update my own to just grab icon from the appx package

Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\Background\shell\MenuTerminal' -Name 'MUIVerb' -Type String -Value 'Terminals'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\Background\shell\MenuTerminal' -Name 'Icon' -Type String -Value '$Env:terminalDir\wt.ico'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\Background\shell\MenuTerminal' -Name 'ExtendedSubCommandsKey' -Type String -Value 'Directory\\ContextMenus\\MenuTerminal'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'MUIVerb' -Type String -Value 'Command Prompt'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'Icon' -Type String -Value 'cmd.exe'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'ExtendedSubCommandsKey' -Type String -Value 'Directory\\ContextMenus\\MenuTerminal\\CMD'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\CMD\shell\open' -Name 'MUIVerb' -Type String -Value 'Command Prompt'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\CMD\shell\open' -Name 'Icon' -Type String -Value '$Env:terminalDir\wt.ico'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\CMD\shell\open\command' -Name '@' -Type String -Value 'wt.exe --profile CMD'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\CMD\shell\runas' -Name 'MUIVerb' -Type String -Value 'Elevated Terminal'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\CMD\shell\runas' -Name 'Icon' -Type String -Value '$Env:terminalDir\wt.ico'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\CMD\shell\runas' -Name 'HasLUAShield' -Type String -Value ''
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\CMD\shell\runas\command'-Name '@' -Type String -Value 'wt.exe --profile CMD'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'MUIVerb' -Type String -Value 'PowerShell'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'Icon' -Type String -Value 'PowerShell.exe'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\shell\open' -Name 'ExtendedSubCommandsKey' -Type String -Value 'Directory\\ContextMenus\\MenuTerminal\\PS'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\open' -Name 'MUIVerb' -Type String -Value 'PowerShell'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\open' -Name 'Icon' -Type String -Value '$Env:terminalDir\wt.ico'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\open\command' -Name '@' -Type String -Value 'wt.exe --profile PowerShell'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\runas' -Name 'MUIVerb' -Type String -Value 'Elevated PowerShell'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\runas' -Name 'Icon' -Type String -Value '$Env:terminalDir\wt.ico'
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\runas' -Name 'HasLUAShield' -Type String -Value ''
Set-ItemProperty-Path 'HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuTerminal\PS\shell\runas\command'-Name '@' -Type String -Value 'wt.exe --Profile PowerShell'

@yanglr Seguí tus pasos, aparece el menú del botón derecho, pero cuando se hace clic, explorer.exe dice "Windows no puede acceder al dispositivo, ruta o archivo especificado. Es posible que no tengas el permiso adecuado para acceder al elemento". (Windows no puede Accede al dispositivo, ruta o archivo especificado. Es posible que no tengas los permisos adecuados para acceder al elemento).

Ejecutar "% LOCALAPPDATA% \ Microsoft \ WindowsApps \ wt.exe" desde el indicador de cmd abre un nuevo terminal como se esperaba, y tengo una configuración similar para msys, wsl-terminal, todo funciona bien, solo el terminal de Windows no funciona.

@ chen-xin Esto es algo que funcionó para mí para el error de acceso.
Siga los mismos pasos que https://github.com/microsoft/terminal/issues/1060#issuecomment -497539461
Pero, para la ruta wt.exe , en lugar de usar %LOCALAPPDATA% , use la ruta completa real como C:\\Users\\[your_user_acc]\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe .

Además, no agregue startingDirectory en la configuración.

@saisandeepvaddi Funcionó en fullpath, ¡gracias!

@miniksa @ zadjii-msft @ DHowett-MSFT @factormystic @ChrisGuzak

Resolví el problema ahora, podría cerrarse. Muchas gracias a todos los que participaron en esta discusión.

Paso 0:

Pruebe si las dos constantes siguientes funcionan bien, que se utilizarán en los siguientes pasos.

echo %USERPROFILE%

echo %LOCALAPPDATA%

Si todo funciona bien aquí, estas dos constantes se pueden usar directamente en otros pasos a continuación.

O realice los siguientes reemplazos en los pasos siguientes:

% PERFIL DE USUARIO% → C:\Users\[userName]
% LOCALAPPDATA% → C:\Users\[userName]\AppData\Local

Aquí [userName] representa su nombre de usuario, por ejemplo, el mío es Bruce .

Paso 1:
Ejecute debajo de las cosas en CMD :

mkdir "%USERPROFILE%\AppData\Local\terminal"

image

Paso 2:
Copie el icono del terminal de Windows en la carpeta %USERPROFILE%\AppData\Local\terminal , el icono se puede obtener en https://github.com/yanglr/WindowsDevTools/tree/master/awosomeTerminal/icons cuyo nombre de archivo es wt_32.ico .

Paso 3:
Guarde el siguiente contenido como wt.reg , luego ejecútelo como administrador.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"="%USERPROFILE%\\AppData\\Local\\terminal\\wt_32.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"

Cabe señalar que si el exe obtenido después de la construcción del código es wtd.exe , debe cambiar el anterior wt.exe a wtd.exe en el registro anterior.

Etapa 4:
Prueba
image

image

He seguido sus instrucciones, pero este error se produce en todas partes donde inicio _Terminal de Windows aquí_

@miniksa @ zadjii-msft @ DHowett-MSFT @factormystic @ChrisGuzak
Resolví el problema ahora, podría cerrarse. Muchas gracias a todos los que participaron en esta discusión.
Paso 0:
Pruebe si las dos constantes siguientes funcionan bien, que se utilizarán en los siguientes pasos.

echo %USERPROFILE%

echo %LOCALAPPDATA%

Si todo funciona bien aquí, estas dos constantes se pueden usar directamente en otros pasos a continuación.
O realice los siguientes reemplazos en los pasos siguientes:
% PERFIL DE USUARIO% → C:\Users\[userName]
% LOCALAPPDATA% → C:\Users\[userName]\AppData\Local
Aquí [userName] representa su nombre de usuario, por ejemplo, el mío es Bruce .
Paso 1:
Ejecute debajo de las cosas en CMD :

mkdir "%USERPROFILE%\AppData\Local\terminal"

image
Paso 2:
Copie el icono del terminal de Windows en la carpeta %USERPROFILE%\AppData\Local\terminal , el icono se puede obtener en https://github.com/yanglr/WindowsDevTools/tree/master/awosomeTerminal/icons cuyo nombre de archivo es wt_32.ico .
Paso 3:
Guarde el siguiente contenido como wt.reg , luego ejecútelo como administrador.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"="%USERPROFILE%\\AppData\\Local\\terminal\\wt_32.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"

Cabe señalar que si el exe obtenido después de la construcción del código es wtd.exe , debe cambiar el anterior wt.exe a wtd.exe en el registro anterior.
Etapa 4:
Prueba
image

image

He seguido sus instrucciones, pero este error se produce en todas partes donde inicio _Terminal de Windows aquí_

Me gusta @saisandeepvaddi mencionado,
Para la ruta wt.exe , en lugar de usar %LOCALAPPDATA% , use la ruta completa real como C:\\Users\\[your_user_acc]\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe .

Además, no agregue startingDirectory en la configuración.

Funciona bien en mi PC. Puedes probarlo.

Intenté agregar wt.exe al registro, como se describió anteriormente, pero tengo el siguiente error:
image

La terminal se inicia desde la línea de comandos (Win + R | "wt") normalmente.

Creo que la personalización de la nueva Terminal es un punto fuerte. ¿Y si esto estuviera en la configuración? Diga, "ExplorerIntegration": true . Luego, un script por lotes podría agregarlos como en el proyecto FluentTerminal .

Oye, acabo de pasar un poco de tiempo tratando de poder abrir la Terminal de Windows en una carpeta específica de clic derecho, y pensé que podría ser interesante / útil para alguien. Esto también parece funcionar cuando cambia al subsistema de Linux, pero no a CMD. También podría simplemente no usar el perfil de powershell y usar $ env con un nombre un poco más agradable para obtener una variable para usar en los tres.

Suponiendo que ha seguido la guía anterior, necesita dos archivos adicionales:

C: \ Users \ [Su nombre de usuario] AppData \ Local \ terminal \ launchwt.bat

set wt_powershell_dir=%cd%
start %LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe
exit

C: \ Users \ [Su nombre de usuario] \ Documents \ WindowsPowerShell \ Microsoft.PowerShell_profile.ps1

if (Test-Path $env:wt_powershell_dir) {
   cd $env:wt_powershell_dir
   Remove-Item Env:\wt_powershell_dir
}

También deberá ir a la clave de registro que ha instalado y actualizarla para que apunte al archivo por lotes:

Computer\HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command

C:\Users\[Your Username]\AppData\Local\terminal\launchwt.bat

Ha sido divertido jugar con el terminal hasta ahora, muchas gracias 😄.

@minhtuanta Intenta eliminar startingDirectory en la configuración. 😊

Eliminar startingDirectory funciona para mí. Qué escenario tan disimulado 😛

Como alternativa al menú del botón derecho (trabajo increíble hasta ahora): si resalta la barra de direcciones de su directorio actual presionando ctrl+l o haciendo clic en él y luego escribe wt.exe , se abrirá el terminal de Windows su shell predeterminado en ese directorio.

@kaeside desea

Puede obtener el ícono real del repositorio en github

@kaeside No estoy seguro de qué versión está usando, pero siempre abro el símbolo del sistema de esta manera (Alt + D, ingrese cmd ) y se abre en el directorio de trabajo actual, pero en el caso de la Terminal de Windows, siempre se abre en el Directorio de usuarios.
Al menos por Version: 0.3.2171.0

Sí, esto se debe a startingDirectory , que se menciona en varios otros comentarios de este hilo. La solución es # 607, que también se menciona.

Intenté agregar wt.exe al registro, como se describió anteriormente, pero tengo el siguiente error:
image

La terminal se inicia desde la línea de comandos (Win + R | "wt") normalmente.

En mi caso, wt.exe se encuentra en C:\Users\[your_user_name]\AppData\Local\Microsoft\WindowsApps\ .
Y puede verificar cada elemento en su variable de entorno% PATH%.

Recientemente actualicé el terminal de Windows a la versión: 0.5.2661.0.
De repente, el menú contextual del botón derecho del ratón "abre el terminal de Windows aquí" siempre comienza en C:\Users\[username] , incluso cuando el archivo profiles.json no contiene "directorio de inicio".

Lo que solucionó esto para mí fue agregar "directorio de inicio": "". al profiles.json.
Espero que esto ayude a alguien con un problema similar.

Un archivo por lotes que resuelve los problemas con la solución de @yanglr . En particular, la razón por la que las variables de entorno no funcionaban es porque las cadenas que las contienen deben agregarse como REG_MULTI_SZ, no como REG_SZ predeterminado.

<strong i="7">@echo</strong> off

reg.exe add "HKEY_CLASSES_ROOT\Directory\Background\shell\wt" /f /ve /d "Windows Terminal here"
reg.exe add "HKEY_CLASSES_ROOT\Directory\Background\shell\wt" /f /v "Icon" /t REG_EXPAND_SZ /d "\"%%USERPROFILE%%\Downloads\terminal.ico\""

reg.exe add "HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command" /f /ve /t REG_EXPAND_SZ /d "\"%%LOCALAPPDATA%%\Microsoft\WindowsApps\wt.exe\""

pause

Vierta lo anterior en un archivo .bat, personalice la ubicación del icono a su gusto, guárdelo y ejecútelo como Administrador , disfrute. Y no olvide el comentario de @rendrap sobre cambiar el perfil startingDirectory a . para que esto funcione como se esperaba.

@IanKemp bueno, ahora las variables de entorno funcionan gracias, pero desde la última actualización de la tienda de aplicaciones, no se abre en el directorio, ¿tiene alguna solución para eso?

@poqdavid Te sugiero que leas el comentario de @rendrap , como sugerí.

Así que tengo que hacer clic con el botón derecho en "Abrir terminal de Windows aquí" funcionando, pero no puedo averiguar cómo hacer que se ejecute como administrador. Intenté usar runas en el Registro, así como el verbo runas, sin suerte.

Sin embargo, si presiono la tecla de Windows -> escriba Terminal -> haga clic en "Ejecutar como administrador", obtengo una Terminal de Windows ejecutándose como administrador, por lo que definitivamente es posible.

¿Cuál es la salsa secreta para configurar el entorno de WT para que comience como administrador?

@IanKemp Si trabaja principalmente con powershell, puede probar sudo . Este script le permite ejecutar comandos como administrador en una ventana de PowerShell no elevada.

Aquí está mi archivo que uso, no abre la ruta pero al menos se ve bien:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"="%ProgramFiles%\\WindowsApps\\Microsoft.WindowsTerminal_0.5.2681.0_x64__8wekyb3d8bbwe\\WindowsTerminal.exe"
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\andre\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"


[HKEY_CLASSES_ROOT\Directory\shell\wt]
@="Windows terminal here"
"Icon"="%ProgramFiles%\\WindowsApps\\Microsoft.WindowsTerminal_0.5.2681.0_x64__8wekyb3d8bbwe\\WindowsTerminal.exe"
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\shell\wt\command]
@="C:\\Users\\andre\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"

EDITAR: Como se mencionó anteriormente, configure su directorio de inicio en "." en tus perfiles.json

"startingDiretory" : ".",

Yo uso Windows Terminal con Ubuntu WSL
¿Hay alguna forma de hacerlo de modo que si uso "Windows terminal here", se abre en ese directorio en el que estoy, pero si simplemente inicio Windows Terminal normalmente, me lleva a Ubuntu ~?

Hacer que me lleve a la casa de Ubuntu de forma predeterminada fue relativamente fácil de hacer así:
"commandline" : "wsl.exe ~ -d Ubuntu-18.04"
pero luego agregar "startingDirectory": "." naturalmente no trae el resultado esperado para el acceso directo del menú contextual. Sin el ~ en el commandline genera un shell en /mnt/c/Windows/System32

Aquí hay un fragmento de mi archivo de configuración:

    "defaultProfile": "{2c4de342-38b7-51cf-b940-2309a097f518}",
    "profiles":
    [
        {
            "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
            "name": "Ubuntu",
            // ... SNIPP
            //"startingDirectory" : "\\\\wsl$\\Ubuntu\\home\\andre",
            "startingDirectory" : ".",
            // ... SNIPP
        },
        // ... SNIPP
    ]

Este abre el directorio en el que se encuentra cuando usa Windows terminal here . Pero abrirá /mnt/c/Windows/System32 cuando la terminal esté abierta normalmente. Yo no he resuelto este problema éter.
Como puede ver, también definí el directorio de inicio antes de comenzar a usar "."

@zambelly Actualmente no. Ese escenario probablemente requiera que se arregle el # 878 para poder admitirlo.

Así que tengo que hacer clic con el botón derecho en "Abrir terminal de Windows aquí" funcionando, pero no puedo averiguar cómo hacer que se ejecute como administrador. Intenté usar runas en el Registro, así como el verbo runas, sin suerte.

Sin embargo, si presiono la tecla de Windows -> escriba Terminal -> haga clic en "Ejecutar como administrador", obtengo una Terminal de Windows ejecutándose como administrador, por lo que definitivamente es posible.

¿Cuál es la salsa secreta para configurar el entorno de WT para que comience como administrador?

@IanKemp Puede intentar de esta manera cambiando el valor de command bajo la clave de registro runas :
cmd.exe /s /c pushd "%V" & start wt.exe

Aunque es un poco tortuoso, al menos esto funciona para mí.

¿Hay alguna manera de, si ya hay una instancia de wt.exe en ejecución, agregar una pestaña allí?
¿Y hay alguna manera de especificar qué perfil tiene la nueva pestaña?

Intenté agregar wt.exe al registro, como se describió anteriormente, pero tengo el siguiente error:
image

La terminal se inicia desde la línea de comandos (Win + R | "wt") normalmente.

El mismo problema de mi parte, no sé cómo solucionarlo. Archivo de registro de la siguiente manera:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Open Windows terminal here"
"Icon"="%USERPROFILE%\\AppData\\Local\\terminal\\wt.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"


[HKEY_CLASSES_ROOT\Directory\shell\wt]
@="Open Windows terminal here"
"Icon"="%USERPROFILE%\\AppData\\Local\\terminal\\wt.ico"

[HKEY_CLASSES_ROOT\Directory\shell\wt\command]
@="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"

Necesitas tener una ruta absoluta y no usar una variable
ver: https://github.com/microsoft/terminal/issues/1060#issuecomment -536322970

Siento que esta es la razón por la que no uso más Terminal, ya que la forma en que abro el símbolo del sistema es en un 80% desde el Explorador de archivos. El resto es de Win + R + cmd + Enter, y acabo de enterarme del alias wt , así que eso ayudará.

Cuando se haga esto, habrá una gran oportunidad para exponerlo en Configuración, también donde tienen el interruptor PowerShell / CMD:

image

Sería genial tener la opción de seleccionar el shell preferido como menú desplegable y tener Terminal como una opción si está instalado.

@ michael-hawker, lo que realmente estás buscando aquí es # 492 😁

Automaticé todo el proceso en un archivo bat que debe ejecutar como administrador.
Agregue Windows Terminal al menú contextual.zip
Aún necesita modificar el directorio de inicio en profiles.json a "startingDirectory" : ".",

@ Restia666Ashdoll que no parece obtener el .ico correctamente

Aunque funciona aquí
image

Prueba esto. Abra la ubicación del archivo terminal.ico. Ahora, vaya a la barra de direcciones y escriba "cmd".
Ahora, en el símbolo del sistema, ingrese el siguiente comando
xcopy "terminal.ico" "%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\" /b /v /y /q

No funciona

Simplemente abra "% LOCALAPPDATA% \ Packages \ Microsoft.WindowsTerminal_8wekyb3d8bbwe \ LocalState" y copie manualmente el archivo ico y luego

Sí, lo he hecho, pero el problema es que la clave de registro no recoge el ico

Automaticé todo el proceso en un archivo bat que debe ejecutar como administrador.
Agregue Windows Terminal al menú contextual.zip
Aún necesita modificar el directorio de inicio en profiles.json a "startingDiretory" : ".",

Advertencia: hay un error al escribir, debería usar "startingDirectory" : "." lugar.

¿qué pasa con la clave HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\wt ? No necesita permiso de administrador

¿qué pasa con la clave HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\wt ? No necesita permiso de administrador

Es solo para el usuario actual.

@ Restia666Ashdoll y @musm , cierre la sesión y vuelva a iniciar sesión después de copiar el archivo ico a la carpeta LocalAppData. Entonces aparecerá el icono.

image

@edrohler ¿Por qué me estás citando? No tengo este problema.

@Horacehxw eso es solo si es la última entrada.

@ Restia666Ashdoll Le

cerrar sesión y volver a iniciar sesión

@edrohler Use el administrador de tareas para reiniciar explorer.exe es suficiente.
Cuando tenga al menos 1 carpeta abierta, el administrador de tareas mostrará Reiniciar en la posición normal de Finalizar tarea (en la primera página, no los detalles del proceso)

@Horacehxw eso es solo si es la última entrada.

El problema no es la coma al final, sino la ortografía de "Directorio". Al anterior le falta "c".

Automaticé todo el proceso en un archivo bat que debe ejecutar como administrador.
Agregue Windows Terminal al menú contextual.zip
Aún necesita modificar el directorio de inicio en profiles.json a "startingDirectory" : ".",

Intenté esto, pero dos problemas: ahora hay startingDirectory en profile.json:


// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation

{
    "$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",

    "profiles":
    [
        {
            // Make changes here to the powershell.exe profile
            "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
            "name": "Windows PowerShell",
            "commandline": "powershell.exe",
            "hidden": false
        },
        {
            // Make changes here to the cmd.exe profile
            "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
            "name": "cmd",
            "commandline": "cmd.exe",
            "hidden": false
        },
        {
            "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
            "hidden": false,
            "name": "Azure Cloud Shell",
            "source": "Windows.Terminal.Azure"
        },
        {
            "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
            "hidden": false,
            "name": "Ubuntu-18.04",
            "source": "Windows.Terminal.Wsl"
        }
    ],

    // Add custom color schemes to this array
    "schemes": [],

    // Add any keybinding overrides to this array.
    // To unbind a default keybinding, set the command to "unbound"
    "keybindings": []
}

Otro problema es que el terminal no va realmente a la ruta correcta 'aquí', comienza solo en la ruta de mi usuario

Automaticé todo el proceso en un archivo bat que debe ejecutar como administrador.
Agregue Windows Terminal al menú contextual.zip
Aún necesita modificar el directorio de inicio en profiles.json a "startingDiretory" : ".",

Advertencia: hay un error al escribir, debería usar "startingDirectory" : "." lugar.

Esto funciona muy bien si lo abres aquí ...
El único problema que he notado es que si abre la terminal normalmente ... el directorio predeterminado es system32 ... ¿hay alguna forma de anular y hacer que use la carpeta de usuario cuando se abre normalmente por casualidad?

Automaticé todo el proceso en un archivo bat que debe ejecutar como administrador.
Agregue Windows Terminal al menú contextual.zip
Aún necesita modificar el directorio de inicio en profiles.json a "startingDirectory" : ".",

Intenté esto, pero dos problemas: ahora hay startingDirectory en profile.json:


// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation

{
    "$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",

    "profiles":
    [
        {
            // Make changes here to the powershell.exe profile
            "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
            "name": "Windows PowerShell",
            "commandline": "powershell.exe",
            "hidden": false
        },
        {
            // Make changes here to the cmd.exe profile
            "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
            "name": "cmd",
            "commandline": "cmd.exe",
            "hidden": false
        },
        {
            "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
            "hidden": false,
            "name": "Azure Cloud Shell",
            "source": "Windows.Terminal.Azure"
        },
        {
            "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
            "hidden": false,
            "name": "Ubuntu-18.04",
            "source": "Windows.Terminal.Wsl"
        }
    ],

    // Add custom color schemes to this array
    "schemes": [],

    // Add any keybinding overrides to this array.
    // To unbind a default keybinding, set the command to "unbound"
    "keybindings": []
}

Otro problema es que el terminal no va realmente a la ruta correcta 'aquí', comienza solo en la ruta de mi usuario

Aquí está mi perfil si estás interesado

{
    "$schema": "https://aka.ms/terminal-profiles-schema",
    "globals" : 
    {
        "alwaysShowTabs" : true,
        "defaultProfile" : "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
        "disabledProfileSources": [
        "Windows.Terminal.Azure"
    ],
        "initialCols" : 120,
        "initialRows" : 30,
        "keybindings" : 
        [
            {
                "command" : "closePane",
                "keys" : 
                [
                    "ctrl+shift+w"
                ]
            },
            {
                "command" : "copy",
                "keys" : 
                [
                    "ctrl+shift+c"
                ]
            },
            {
                "command" : "duplicateTab",
                "keys" : 
                [
                    "ctrl+shift+d"
                ]
            },
            {
                "command" : "newTab",
                "keys" : 
                [
                    "ctrl+shift+t"
                ]
            },
            {
                "command" : "newTabProfile0",
                "keys" : 
                [
                    "ctrl+shift+1"
                ]
            },
            {
                "command" : "newTabProfile1",
                "keys" : 
                [
                    "ctrl+shift+2"
                ]
            },
            {
                "command" : "newTabProfile2",
                "keys" : 
                [
                    "ctrl+shift+3"
                ]
            },
            {
                "command" : "newTabProfile3",
                "keys" : 
                [
                    "ctrl+shift+4"
                ]
            },
            {
                "command" : "newTabProfile4",
                "keys" : 
                [
                    "ctrl+shift+5"
                ]
            },
            {
                "command" : "newTabProfile5",
                "keys" : 
                [
                    "ctrl+shift+6"
                ]
            },
            {
                "command" : "newTabProfile6",
                "keys" : 
                [
                    "ctrl+shift+7"
                ]
            },
            {
                "command" : "newTabProfile7",
                "keys" : 
                [
                    "ctrl+shift+8"
                ]
            },
            {
                "command" : "newTabProfile8",
                "keys" : 
                [
                    "ctrl+shift+9"
                ]
            },
            {
                "command" : "nextTab",
                "keys" : 
                [
                    "ctrl+tab"
                ]
            },
            {
                "command" : "openSettings",
                "keys" : 
                [
                    "ctrl+,"
                ]
            },
            {
                "command" : "paste",
                "keys" : 
                [
                    "ctrl+shift+v"
                ]
            },
            {
                "command" : "prevTab",
                "keys" : 
                [
                    "ctrl+shift+tab"
                ]
            },
            {
                "command" : "scrollDown",
                "keys" : 
                [
                    "ctrl+shift+down"
                ]
            },
            {
                "command" : "scrollDownPage",
                "keys" : 
                [
                    "ctrl+shift+pgdn"
                ]
            },
            {
                "command" : "scrollUp",
                "keys" : 
                [
                    "ctrl+shift+up"
                ]
            },
            {
                "command" : "scrollUpPage",
                "keys" : 
                [
                    "ctrl+shift+pgup"
                ]
            },
            {
                "command" : "switchToTab0",
                "keys" : 
                [
                    "ctrl+alt+1"
                ]
            },
            {
                "command" : "switchToTab1",
                "keys" : 
                [
                    "ctrl+alt+2"
                ]
            },
            {
                "command" : "switchToTab2",
                "keys" : 
                [
                    "ctrl+alt+3"
                ]
            },
            {
                "command" : "switchToTab3",
                "keys" : 
                [
                    "ctrl+alt+4"
                ]
            },
            {
                "command" : "switchToTab4",
                "keys" : 
                [
                    "ctrl+alt+5"
                ]
            },
            {
                "command" : "switchToTab5",
                "keys" : 
                [
                    "ctrl+alt+6"
                ]
            },
            {
                "command" : "switchToTab6",
                "keys" : 
                [
                    "ctrl+alt+7"
                ]
            },
            {
                "command" : "switchToTab7",
                "keys" : 
                [
                    "ctrl+alt+8"
                ]
            },
            {
                "command" : "switchToTab8",
                "keys" : 
                [
                    "ctrl+alt+9"
                ]
            }
        ],
        "requestedTheme" : "system",
        "showTabsInTitlebar" : true,
        "showTerminalTitleInTitlebar" : true,
        "wordDelimiters" : " ./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}~?\u2502"
    },
    "profiles" : 
    [
        {
            "acrylicOpacity" : 0.75,
            "background" : "#012456",
            "closeOnExit" : true,
            "colorScheme" : "One Half Dark",
            "commandline" : "powershell.exe",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "guid" : "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
            "historySize" : 9001,
            "icon" : "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}.png",
            "name" : "Windows PowerShell",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "One Half Dark",
            "commandline" : "cmd.exe",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "guid" : "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
            "historySize" : 9001,
            "icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
            "name" : "Command Prompt",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "commandline" : "cmd.exe /c set MSYS=winsymlinks:nativestrict&& set MSYS2_PATH_TYPE=inherit&& msys2 -i -l",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "historySize" : 9001,
            "icon" : "%SCOOP%\\apps\\msys2\\current\\msys2.ico",
            "name" : "MSYS2",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "commandline" : "cmd.exe /c set MSYS=winsymlinks:nativestrict&& set MSYS2_PATH_TYPE=inherit&& mingw64 -i -l",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "historySize" : 9001,
            "icon" : "%SCOOP%\\apps\\msys2\\current\\mingw64.ico",
            "name" : "MinGW64",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {         
            "guid": "{a5a97cb8-8961-5535-816d-772efe0c6a3f}",
            "acrylicOpacity" : 0.75,
            "background" : "#012456",
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "hidden": false,
            "name": "Arch",
            "icon" : "%SCOOP%\\apps\\archwsl\\current\\arch.ico",
            "source": "Windows.Terminal.Wsl",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {        
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "commandline" : "\"%SCOOP%\\apps\\git-with-openssh\\current\\bin\\bash.exe\" -i -l",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "historySize" : 9001,
            "icon" : "%SCOOP%\\apps\\git-with-openssh\\current\\mingw64\\share\\git\\git-for-windows.ico",
            "name" : "Git Bash",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        }
    ],
        {
            "acrylicOpacity" : 0.75,
            "background" : "#012456",
            "closeOnExit" : true,
            "colorScheme" : "One Half Dark",
            "commandline" : "powershell.exe",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "guid" : "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
            "historySize" : 9001,
            "icon" : "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}.png",
            "backgroundImage" : "ms-appdata:///local/1537295612521.png",
            "backgroundImageOpacity" : 0.75,
            "backgroundImageStrechMode" : "fill",
            "name" : "Windows PowerShell",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "One Half Dark",
            "commandline" : "cmd.exe",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "guid" : "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
            "historySize" : 9001,
            "icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
            "backgroundImage" : "ms-appdata:///local/1503827082075.png",
            "backgroundImageOpacity" : 0.75,
            "backgroundImageStrechMode" : "fill",
            "name" : "Command Prompt",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "commandline" : "cmd.exe /c set MSYS=winsymlinks:nativestrict&& set MSYS2_PATH_TYPE=inherit&& msys2 -i -l",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "historySize" : 9001,
            "icon" : "%SCOOP%\\apps\\msys2\\current\\msys2.ico",
            "backgroundImage" : "ms-appdata:///local/1504637576364.png",
            "backgroundImageOpacity" : 0.75,
            "backgroundImageStrechMode" : "fill",
            "name" : "MSYS2",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "commandline" : "cmd.exe /c set MSYS=winsymlinks:nativestrict&& set MSYS2_PATH_TYPE=inherit&& mingw64 -i -l",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "historySize" : 9001,
            "icon" : "%SCOOP%\\apps\\msys2\\current\\mingw64.ico",
            "backgroundImage" : "ms-appdata:///local/704387.png",
            "backgroundImageOpacity" : 0.75,
            "backgroundImageStrechMode" : "fill",
            "name" : "MinGW64",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {         
            "guid": "{a5a97cb8-8961-5535-816d-772efe0c6a3f}",
            "acrylicOpacity" : 0.75,
            "background" : "#012456",
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "hidden": false,
            "name": "Arch",
            "icon" : "%SCOOP%\\apps\\archwsl\\current\\arch.ico",
            "backgroundImage" : "ms-appdata:///local/1507634976184.jpg",
            "backgroundImageOpacity" : 0.75,
            "backgroundImageStrechMode" : "fill",
            "source": "Windows.Terminal.Wsl",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        },
        {        
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "commandline" : "\"%SCOOP%\\apps\\git-with-openssh\\current\\bin\\bash.exe\" -i -l",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "historySize" : 9001,
            "icon" : "%SCOOP%\\apps\\git-with-openssh\\current\\mingw64\\share\\git\\git-for-windows.ico",
            "backgroundImage" : "ms-appdata:///local/1496315646560.png",
            "backgroundImageOpacity" : 0.75,
            "backgroundImageStrechMode" : "fill",
            "name" : "Git Bash",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        }
    ],
    "schemes" : 
    [
        {
            "background":"#000000",
            "black":"#000000",
            "blue":"#2980b9",
            "brightBlack":"#7f8c8d",
            "brightBlue":"#3498db",
            "brightCyan":"#1abc9c",
            "brightGreen":"#2ecc71",
            "brightPurple":"#9b59b6",
            "brightRed":"#e74c3c",
            "brightWhite":"#ecf0f1",
            "brightYellow":"#f1c40f",
            "cyan":"#16a085",
            "foreground":"#ecf0f1",
            "green":"#27ae60",
            "name":"flat-ui-v1",
            "purple":"#8e44ad",
            "red":"#c0392b",
            "white":"#ecf0f1",
            "yellow":"#f39c12"
        },
        {
            "background" : "#0C0C0C",
            "black" : "#0C0C0C",
            "blue" : "#0037DA",
            "brightBlack" : "#767676",
            "brightBlue" : "#3B78FF",
            "brightCyan" : "#61D6D6",
            "brightGreen" : "#16C60C",
            "brightPurple" : "#B4009E",
            "brightRed" : "#E74856",
            "brightWhite" : "#F2F2F2",
            "brightYellow" : "#F9F1A5",
            "cyan" : "#3A96DD",
            "foreground" : "#CCCCCC",
            "green" : "#13A10E",
            "name" : "Campbell",
            "purple" : "#881798",
            "red" : "#C50F1F",
            "white" : "#CCCCCC",
            "yellow" : "#C19C00"
        },
        {
            "background" : "#000000",
            "black" : "#000000",
            "blue" : "#000080",
            "brightBlack" : "#808080",
            "brightBlue" : "#0000FF",
            "brightCyan" : "#00FFFF",
            "brightGreen" : "#00FF00",
            "brightPurple" : "#FF00FF",
            "brightRed" : "#FF0000",
            "brightWhite" : "#FFFFFF",
            "brightYellow" : "#FFFF00",
            "cyan" : "#008080",
            "foreground" : "#C0C0C0",
            "green" : "#008000",
            "name" : "Vintage",
            "purple" : "#800080",
            "red" : "#800000",
            "white" : "#C0C0C0",
            "yellow" : "#808000"
        },
        {
            "background" : "#282C34",
            "black" : "#282C34",
            "blue" : "#61AFEF",
            "Grey" : "#FFFFFF",
            "darkGrey" : "#FFFFFF",
            "brightBlack" : "#5A6374",
            "brightBlue" : "#61AFEF",
            "brightCyan" : "#56B6C2",
            "brightGreen" : "#98C379",
            "brightPurple" : "#C678DD",
            "brightRed" : "#E06C75",
            "brightWhite" : "#DCDFE4",
            "brightYellow" : "#E5C07B",
            "cyan" : "#56B6C2",
            "foreground" : "#DCDFE4",
            "green" : "#98C379",
            "name" : "One Half Dark",
            "purple" : "#C678DD",
            "red" : "#E06C75",
            "white" : "#DCDFE4",
            "yellow" : "#E5C07B"
        },
        {
            "background" : "#FAFAFA",
            "black" : "#383A42",
            "blue" : "#0184BC",
            "brightBlack" : "#4F525D",
            "brightBlue" : "#61AFEF",
            "brightCyan" : "#56B5C1",
            "brightGreen" : "#98C379",
            "brightPurple" : "#C577DD",
            "brightRed" : "#DF6C75",
            "brightWhite" : "#FFFFFF",
            "brightYellow" : "#E4C07A",
            "cyan" : "#0997B3",
            "foreground" : "#383A42",
            "green" : "#50A14F",
            "name" : "One Half Light",
            "purple" : "#A626A4",
            "red" : "#E45649",
            "white" : "#FAFAFA",
            "yellow" : "#C18301"
        },
        {
            "background" : "#002B36",
            "black" : "#073642",
            "blue" : "#268BD2",
            "brightBlack" : "#002B36",
            "brightBlue" : "#839496",
            "brightCyan" : "#93A1A1",
            "brightGreen" : "#586E75",
            "brightPurple" : "#6C71C4",
            "brightRed" : "#CB4B16",
            "brightWhite" : "#FDF6E3",
            "brightYellow" : "#657B83",
            "cyan" : "#2AA198",
            "foreground" : "#839496",
            "green" : "#859900",
            "name" : "Solarized Dark",
            "purple" : "#D33682",
            "red" : "#DC322F",
            "white" : "#EEE8D5",
            "yellow" : "#B58900"
        },
        {
            "background" : "#FDF6E3",
            "black" : "#073642",
            "blue" : "#268BD2",
            "brightBlack" : "#002B36",
            "brightBlue" : "#839496",
            "brightCyan" : "#93A1A1",
            "brightGreen" : "#586E75",
            "brightPurple" : "#6C71C4",
            "brightRed" : "#CB4B16",
            "brightWhite" : "#FDF6E3",
            "brightYellow" : "#657B83",
            "cyan" : "#2AA198",
            "foreground" : "#657B83",
            "green" : "#859900",
            "name" : "Solarized Light",
            "purple" : "#D33682",
            "red" : "#DC322F",
            "white" : "#EEE8D5",
            "yellow" : "#B58900"
        }
    ]
}

@ Restia666Ashdoll ¡Gracias! funcionó pero cada vez que muestra una ventana emergente:

Capture

@foremtehan Ya que no usa msys2, mingw64, arch y git bash, no los necesita. Ahora, intente esto en perfiles para Ubuntu.

        {         
            "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
            "acrylicOpacity" : 0.75,
            "background" : "#012456",
            "closeOnExit" : true,
            "colorScheme" : "flat-ui-v1",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "hidden": false,
            "name": "Ubuntu",
            "source": "Windows.Terminal.Wsl",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : ".",
            "useAcrylic" : true
        }

Asegúrese de que no haya comas en la sección de perfil final

Automaticé todo el proceso en un archivo bat que debe ejecutar como administrador.
Agregue Windows Terminal al menú contextual.zip
Aún necesita modificar el directorio de inicio en profiles.json a "startingDiretory" : ".",

Advertencia: hay un error al escribir, debería usar "startingDirectory" : "." lugar.

Esto funciona muy bien si lo abres aquí ...
El único problema que he notado es que si abre la terminal normalmente ... el directorio predeterminado es system32 ... ¿hay alguna forma de anular y hacer que use la carpeta de usuario cuando se abre normalmente por casualidad?

¡Oye! Yo también tuve este problema. Una solución rápida y sucia es agregar un comando cd a su archivo .bashrc dentro de la terminal WSL.
echo 'cd ~' >> ~ / .bashrc

Eso frustra todo el propósito de este hilo, ya que siempre estará en el directorio '~' independientemente de dónde abra la terminal. Simplemente escriba 'cd ~' después de abrir la terminal en wsl / msys2 / mingw64 / git bash.

Automaticé todo el proceso en un archivo bat que debe ejecutar como administrador.
Agregue Windows Terminal al menú contextual.zip
Aún necesita modificar el directorio de inicio en profiles.json a "startingDiretory" : ".",

Advertencia: hay un error al escribir, debería usar "startingDirectory" : "." lugar.

Esto funciona muy bien si lo abres aquí ...
El único problema que he notado es que si abre la terminal normalmente ... el directorio predeterminado es system32 ... ¿hay alguna forma de anular y hacer que use la carpeta de usuario cuando se abre normalmente por casualidad?

¡Oye! Yo también tuve este problema. Una solución rápida y sucia es agregar un comando cd a su archivo .bashrc dentro de la terminal WSL.
echo 'cd ~' >> ~ / .bashrc

Eso frustra todo el propósito de este hilo, ya que siempre estará en el directorio '~' independientemente de dónde abra la terminal. Simplemente escriba 'cd ~' después de abrir la terminal en wsl / msys2 / mingw64 / git bash.

Esto también establecerá el directorio de inicio en "~" cuando haga clic en "Abrir terminal de Windows aquí". Simplemente puede agregar una condición if.
if [ "$PWD" = "/mnt/c/Windows/System32" ]; then cd ~ fi

@ Restia666Ashdoll y @musm , cierre la sesión y vuelva a iniciar sesión después de copiar el archivo ico a la carpeta LocalAppData. Entonces aparecerá el icono.

image

¿Cómo agregaste la opción "Abrir con código"?

@ Restia666Ashdoll y @musm , cierre la sesión y vuelva a iniciar sesión después de copiar el archivo ico a la carpeta LocalAppData. Entonces aparecerá el icono.
image

¿Cómo agregaste la opción "Abrir con código"?

cuando instala el código, le pregunta si desea agregar un shell abierto con la opción de código

Para aquellos que instalaron el terminal desde la tienda de Windows, el comando es:

explorer.exe shell:appsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App

Windows Terminal también agrega wt.exe a la ruta, lo que hace que el fragmento de código propenso a errores anterior sea redundante.

Aplaudo el trabajo de todos aquí, pero solo quiero proporcionar una solución más simple que sea lo suficientemente buena para mí y tal vez para muchos de ustedes también:

PREPARACIÓN IMPORTANTE: En el archivo de configuración de la Terminal de Windows, asegúrese de que el perfil de su shell predeterminado contenga "startingDirectory": ".", que significa "iniciar en el directorio de trabajo actual". (Si omite este paso, Windows Terminal ignorará el directorio de trabajo y siempre se iniciará en su directorio de inicio).

Ahora para las instrucciones:

  1. ¡Navega a una carpeta divertida en Explorer!
  2. Presione Ctrl-L, escriba wt y presione Entrar. ¡Eso es! ¡Hecho! La Terminal de Windows se abre en la carpeta que está viendo.

El texto en negrita arriba es la instrucción real. Jeje. ¡Eso es!

No necesito un elemento de menú contextual. Es bastante raro que necesite abrir la terminal en el directorio actual, y estoy bien con solo Ctrl-L, wt , Enter. Es super rápido y ez.

@VideoPlayerCode ¡ Esa es una gran solución! ¡Muchas gracias!

@VideoPlayerCode ¡ Gracias por el gran consejo! Sin embargo, no resuelve el caso de "ejecutar como administrador".

Si alguien recibe el siguiente error, después de usar la solución de @yanglr
explorer_error

Puede utilizar la ruta completa, en lugar de% LOCALAPPDATA%:

Entonces en lugar de
[HKEY_CLASSES_ROOT \ Directory \ Background \ shellwtcommand]
@ = "% LOCALAPPDATA% \ Microsoft \ WindowsApps \ wt.exe"

Utilice (con su nombre de usuario en el lugar de 'thull'):
[HKEY_CLASSES_ROOT \ Directory \ Background \ shellwtcommand]
@ = "" C: \ Users \ thullAppData \ Local \ Microsoft \ WindowsAppswt.exe ""

@ ad1tyawagh ¡ Feliz de

@lllopo Me encantaría ayudar, pero parece que "Ejecutar como administrador" no es posible en las aplicaciones de la Tienda Windows (instalé Windows Terminal a través de Chocolatey directamente desde el instalador, pero sigue siendo una aplicación de la Tienda Windows).

Aquí está mi configuración actual:

  • PowerShell es mi shell predeterminado.
  • Mi configuración de PowerShell contiene estas líneas adicionales:
function EditProfile { notepad "$profile" }
function GoAdmin { start-process pwsh –verb runAs }

Cuando escribe GoAdmin, aparece un cuadro de diálogo de derechos de administrador y, a continuación, PowerShell se inicia como administrador en una ventana de shell separada (no alojada en la Terminal de Windows), en la carpeta exacta a la que navegó. Esto es conveniente y suficiente para mí, porque solo lo uso para paquetes de instalación / actualización de chocolate. Realmente no he necesitado derechos de administrador para nada más.

Pero para ti, quería intentar mejorarlo para poder iniciar Windows Terminal con derechos de administrador. Sin embargo, falla:

# Works but not admin rights:
function GoAdmin { start-process "$env:LOCALAPPDATA\Microsoft\WindowsApps\wt.exe" }

function GoAdmin { start-process explorer.exe shell:appsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App }

# Fails with "This command cannot be run due to the error: The file cannot be accessed by the system.":
function GoAdmin { start-process "$env:LOCALAPPDATA\Microsoft\WindowsApps\wt.exe" -verb runAs }

# Successfully launches explorer.exe as admin, which in turn launches Windows Terminal as non-admin, meh:
function GoAdmin { start-process explorer.exe shell:appsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App -verb runAs }

Entonces, a menos que haya una manera de corregir el error "El sistema no puede acceder al archivo", no hay forma de iniciar Windows Terminal como administrador a través de scripts de PowerShell. Quizás alguien encuentre una manera. (Editar: parece que la explicación para no iniciar wt como administrador es que Windows Terminal está instalado como usuario no administrador y, por lo tanto, el usuario administrador no puede encontrarlo. Al menos así es como entiendo este mensaje . )

De lo contrario, espero que al menos le guste el comando GoAdmin que proporcioné aquí, que inicia con éxito una ventana de PowerShell separada como administrador. Es suficiente para mí para administrar paquetes de chocolate, así que no me importa mucho que no sea una ventana de Terminal de Windows ... (También es bastante útil que no use Terminal de Windows, porque eso significa los "derechos de administrador" shell es visualmente diferente, lo cual es un buen recordatorio para no usarlo para el trabajo regular, ya que los derechos de administrador son peligrosos y se propagan a todos los programas que inicie a través de su shell, por lo que no debe usarse descuidadamente).

PD: Reemplace pwsh con powershell si está utilizando el obsoleto "Windows PowerShell" integrado. En su lugar, uso PowerShell Core 6, desde https://github.com/PowerShell/PowerShell (instalado a través de choco install powershell-core ).

Otro consejo: he fijado el terminal de Windows en la posición más a la izquierda en mi barra de tareas. De esa manera, puedo presionar Win + 1 para iniciarlo instantáneamente (o enfocarlo si ya está lanzado). Muy conveniente. También significa que si realmente quiero que Windows Terminal se ejecute como administrador, puedo simplemente hacer clic derecho en el icono de la barra de tareas, luego hacer clic derecho en "Windows Terminal" en el menú que aparece y finalmente "Ejecutar como administrador").

Consejo final: después de configurar su directorio de inicio en ".", El Terminal de Windows siempre se abrirá en la carpeta system32 si lo inicia desde un acceso directo (como desde la barra de tareas fijada o mediante el menú de inicio; pero _no_ mediante Win + R o mediante el explorador ( los últimos métodos funcionan correctamente)). Pero hay una manera rápida de acceder a su carpeta de inicio: simplemente escriba cd y presione enter para ir siempre directamente a casa.

Otra forma es instalar el comando sudo desde Scoop
scoop install sudo
http://blog.lukesampson.com/sudo-for-windows
Además de permitirle ejecutar comandos con privilegios elevados, también puede iniciar una sesión elevada de PowerShell / Símbolo del sistema con el comando sudo powershell o sudo cmd .

@ Restia666Ashdoll Como mencioné en mi respuesta, no hay necesidad de comandos "sudo" de terceros. PowerShell tiene un "sudo" integrado: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/start-process?view=powershell-6#examples

Ejemplo 5: iniciar PowerShell como administrador

Este ejemplo inicia PowerShell mediante la opción "Ejecutar como administrador".

Start-Process -FilePath "powershell" -Verb RunAs

Envolví eso como GoAdmin en mi ejemplo. Pero alguien también podría envolverlo como una función a la que llaman "sudo" y hacer que tome cualquier comando.

Por ejemplo, como inspiración, quería que el comando touch creara archivos vacíos de 0 bytes fácilmente, y quería que tomara varios argumentos para varios archivos a la vez. Así que escribí esta función de PowerShell y la puse en mi configuración para que siempre esté disponible:

function touch() { for ($i=0; $i -le $args.length; $i++) { $name = $args[$i]; if ($name -ne $null -and $name.GetType().Name -eq "String") { $name = $name.Trim(); if ($name.length -gt 0) { New-Item -ItemType file "$name" } } } }

Se podría hacer algo muy similar si quisieras crear un comando sudo genérico.

O simplemente use GoAdmin como se muestra arriba ...

@VideoPlayerCode Ese comando solo se puede usar para algunos comandos de PowerShell. No puedes hacer algo como sudo pip install httpie o sudo Install-Module oh-my-posh -Force . Diablos, incluso puedes usar Chocolatey de powershell regular como sudo choco install mpv (aunque personalmente no me gusta Chocolatey). Por supuesto, sudo para Windows también tiene limitaciones.

@ Restia666Ashdoll Gracias, me empujaste a escribir el comando "sudo" que expliqué anteriormente. :-)

function sudo() {
    [string[]]$cmd = @("-command")
    for ($i=0; $i -le $args.length; $i++) {
        $val = $args[$i]
        if ($val -ne $null) {
            $cmd += [string]$val;
        }
    }
    if ($cmd.length -ge 2) {
        $cmd += "; pause"
        #Write-Host $cmd
        Start-Process pwsh -ArgumentList $cmd –Verb RunAs
    }
}

_ (Si alguien está usando el powershell regular y obsoleto que se incluye con Windows, reemplace el pwsh por powershell arriba.

Al ejecutar sudo choco install sysinternals en una sesión que no sea de administrador, ahora se ejecutará ese comando en una sesión de administrador.

Tenga en cuenta que el proceso de inicio de PowerShell no admite subhells de administración de generación que se generan directamente dentro de shells de "host" que no son de administración, por lo que se ejecuta en una ventana emergente y se detiene para que pueda leer el resultado antes de cerrar esa ventana. Suficientemente bueno para mi.

Eché un vistazo a https://github.com/lukesampson/psutils/blob/master/sudo.ps1 (el script que propusiste), pero sentí que es un poco complicado llamar a las funciones del kernel para adjuntar la salida de un administrador subproceso en la terminal en ejecución, y preocuparse por " filtrar" privilegios inseguros en el proceso del host o todos los exploits que se vuelven posibles cuando la entrada / salida de un proceso de administración es propiedad de un proceso que no es de administración (yikes). También había otro llamado wsudo en https://github.com/noseratio/choco/tree/master/wsudo , pero realmente no lo miré a fondo. En su lugar, escribí mi propia versión.

Gracias por el empujón, de nuevo. Es bueno tener un comando para ejecutar rápidamente una sola acción como administrador. Mi comando GoAdmin publicado anteriormente sigue siendo muy útil para iniciar una consola de administración separada que admita escribir múltiples acciones como de costumbre. ¡Pero ejecutar comandos individuales ahora es un poco más fácil con este nuevo comando!

PD: Si alguien se pregunta dónde poner esta o todas mis otras funciones, simplemente escriba Write-Host $Profile (write-host es "echo" en powershell) para ver la ruta del perfil, y cree ese archivo si falta, y luego ponga las funciones allí y reinicie PowerShell.

(Esas funciones del "kernel" son en realidad las API de consola con soporte oficial de este equipo, simplemente viven en una biblioteca llamada kernel32 (por razones heredadas)).

@ DHowett-MSFT Ahh. El código sudo.ps1 de Luke Sampson dice DllImport("kernel32.dll") , pero ¿está diciendo que está bien usar esas funciones para redirigir la salida del shell de administración al shell actual?

Para ser franco, se supone que se comporta como sudo en sistemas Unix. Casi todos los que usan Scoop, lo usan. Es lo que quiero: ejecutar un comando con privilegios elevados dentro del shell actual. Y es lo que todos desean, si Microsoft hiciera un 'sudo para Windows' adecuado.

¡Gracias por la gran discusión sobre este tema! ¿Le importaría desviar la discusión sobre cosas que no son la opción del menú contextual en otra parte? Por sudo , tenemos # 1032

Sí, algunas personas pidieron una forma de "sudo" y las cosas se descarrilaron un poco. ;-)

@ DHowett-MSFT Lo siento, por salirse del tema. Simplemente surgió porque la perspectiva de iniciar la terminal como administrador. Yo parare.

¡Oye, no hay problema! Le pasa a todo el mundo. :sonreír:

Esta es mi solucion
Actúa de la misma forma que PowerShell 7 y también puede ejecutarse con derechos de administrador.
https://github.com/nt4f04uNd/wt-contextmenu
Allí puede encontrar una guía sobre cómo implementarlo y todos los archivos necesarios.

@ nt4f04uNd ¿También puedes agregar scoop install nicrmd a tu guía?
https://github.com/ScoopInstaller/Main/blob/master/bucket/nircmd.json

@ Restia666Ashdoll hecho

No veo la necesidad de abrir el indicador de cmd aquí.

En la barra de direcciones, haga clic en él, escriba wt.exe y presione Intro. Terminal de Windows con la ventana de exploración actual como CWD.

@ em00k Diferentes personas tienen sus propios flujos de trabajo, y eso está bien: sonríe:

Esto es un trabajo para mí https://github.com/microsoft/terminal/issues/1060#issuecomment -497539461 y para resolver el directorio inicial para mi carpeta de usuario, creo un acceso directo apuntando a mi '% USERPROFILE%' y lo coloco en mi menú de inicio y barra de tareas.

Pero será muy útil si podemos usar un parámetro de carpeta para abrir el directorio en la aplicación wt.exe.

image

Esto es lo que funcionó para mí para 0.7.3451.0 (algunos cambios necesarios en el comentario original de @yanglr )

1) Descargue el icono oficial de la Terminal de Windows y colóquelo en algún lugar
https://raw.githubusercontent.com/microsoft/terminal/master/res/terminal.ico

2) Edite la configuración del terminal de Windows. Cree el perfil que desea abrir en el directorio actual por defecto.
Añadir
"startingDirectory": "."
a ese perfil, de modo que el directorio actual sea el directorio de inicio

3) Cree y ejecute un archivo wt.reg, con lo siguiente, sustituyendo los elementos entre llaves con rutas reales (recordando las barras dobles).

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows Terminal Here"
"Icon"="{full_path_to_icon}\\terminal.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\{windows_user_directory}\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"

(Sustituya HKEY_CLASSES_ROOT por HKEY_CURRENT_USER si solo desea cambiar el usuario actual)

4) Prueba. Debería abrir el directorio en el que se encuentra cuando hace clic derecho.
Solo probé esto con cmd.exe como mi perfil predeterminado. No sé si funciona para otros tipos de perfiles.

Capture

Abre una Terminal de Windows comenzando en la carpeta en la que hice clic derecho

Capture

Al menos cámbielo a HKCU para que solo cambie su propia cuenta de usuario

@VideoPlayerCode gracias mucho hombre resolvió mi problema con la terminal de Windows

@yangshuairocks Mine parpadea no una, sino dos veces al hacer esto, luego solicita el administrador.

Me gustaría "Abrir como una nueva pestaña en la Terminal de Windows".
No quiero que mi escritorio se estropee con muchas ventanas de Terminal.

PD
"startingDirectory": "." hace $PWD de la terminal abierta desde el menú de inicio o la barra C:\Windows\System32 tareas

Solución simple de todos los comentarios dados aquí: https://github.com/plexcellmedia/open-microsoft-terminal-in-current-directory

En realidad, no es necesario que escriba una ruta completa. La terminal está presente en la variable PATH. Así que simplemente llame al comando wt cualquier lugar.
O puede llamar a la propia aplicación para UWP shell:AppsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App

Desde el lanzamiento de v0.9.433.0 ahora puede pasar parámetros de línea de comandos, por lo que lo siguiente funciona con soporte para múltiples perfiles.

wt.reg :

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\wt (Command)]
@="Open Terminal (Command)"
[HKEY_CLASSES_ROOT\Directory\shell\wt (Command)\command]
@="C:\\Users\\Sean\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe new-tab -d \"%1\" -p Command"

[HKEY_CLASSES_ROOT\Directory\shell\wt (PowerShell)]
@="Open Terminal (PowerShell)"
[HKEY_CLASSES_ROOT\Directory\shell\wt (PowerShell)\command]
@="C:\\Users\\Sean\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe new-tab -d \"%1\" -p PowerShell"

[HKEY_CLASSES_ROOT\Directory\shell\wt (Git Bash)]
@="Open Terminal (Git Bash)"
[HKEY_CLASSES_ROOT\Directory\shell\wt (Git Bash)\command]
@="C:\\Users\\Sean\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe new-tab -d \"%1\" -p \"Git Bash\""

[HKEY_CLASSES_ROOT\Directory\shell\wt (Ubuntu Bash)]
@="Open Terminal (Ubuntu Bash)"
[HKEY_CLASSES_ROOT\Directory\shell\wt (Ubuntu Bash)\command]
@="C:\\Users\\Sean\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe new-tab -d \"%1\" -p \"Ubuntu Bash\""

[HKEY_CLASSES_ROOT\Directory\shell\wt (Ubuntu Zsh)]
@="Open Terminal (Ubuntu Zsh)"
[HKEY_CLASSES_ROOT\Directory\shell\wt (Ubuntu Zsh)\command]
@="C:\\Users\\Sean\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe new-tab -d \"%1\" -p \"Ubuntu Zsh\""

profiles.json :

{
    "$schema": "https://aka.ms/terminal-profiles-schema",
    "defaultProfile": "{e5beb15e-da5c-4df7-815c-b0b0a865ef3f}",
    "initialRows": 50,
    "tabWidthMode": "titleLength",

    "profiles": {
        "defaults": {
            "cursorShape": "filledBox",
            "experimental.retroTerminalEffect": false,
            "fontFace": "Fira Code",
            "fontSize": 10,
            "padding": "2, 2, 2, 2",
            "suppressApplicationTitle": true
        },
        "list": [
            {
                "backgroundImage": "ms-appdata:///local/ubuntu.png",
                "backgroundImageAlignment": "bottomRight",
                "backgroundImageOpacity": 0.25,
                "backgroundImageStretchMode": "none",
                "commandline": "wsl.exe -d Ubuntu-18.04 --exec zsh --login",
                "colorScheme": "Solarized Dark",
                "guid": "{e5beb15e-da5c-4df7-815c-b0b0a865ef3f}",
                "icon": "ms-appdata:///local/ubuntu.png",
                "name": "Ubuntu Zsh",
                "startingDirectory": "//wsl$/Ubuntu-18.04/home/sean",
                "tabTitle": "Zsh"
            },
            {
                "backgroundImage": "ms-appdata:///local/ubuntu.png",
                "backgroundImageAlignment": "bottomRight",
                "backgroundImageOpacity": 0.25,
                "backgroundImageStretchMode": "none",
                "commandline": "wsl.exe -d Ubuntu-18.04 --exec bash --login",
                "colorScheme": "Solarized Dark",
                "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
                "icon": "ms-appdata:///local/ubuntu.png",
                "name": "Ubuntu Bash",
                "source": "Windows.Terminal.Wsl",
                "startingDirectory": "//wsl$/Ubuntu-18.04/home/sean",
                "tabTitle": "Bash"
            },
            {
                "backgroundImage": "ms-appdata:///local/git-for-windows.png",
                "backgroundImageAlignment": "bottomRight",
                "backgroundImageOpacity": 0.25,
                "backgroundImageStretchMode": "none",
                "commandline": "C:\\Program Files\\Git\\bin\\bash.exe --login",
                "colorScheme": "Solarized Dark",
                "guid": "{78ccd05e-83d4-46c6-9a80-8865ff8ff720}",
                "icon" : "C:\\Program Files\\Git\\mingw64\\share\\git\\git-for-windows.ico",
                "name": "Git Bash",
                "startingDirectory": "%USERPROFILE%",
                "tabTitle": "Bash"
            },
            {
                "backgroundImage": "ms-appdata:///local/powershell.png",
                "backgroundImageAlignment": "bottomRight",
                "backgroundImageOpacity": 0.25,
                "backgroundImageStretchMode": "none",
                "commandline": "powershell.exe",
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "PowerShell",
                "tabTitle": "PS"
            },
            {
                "commandline": "cmd.exe",
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "Command",
                "tabTitle": "Cmd"
            },
            {
                "acrylicOpacity": 0.9,
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "name": "Azure Shell",
                "source": "Windows.Terminal.Azure",
                "tabTitle": "Bash",
                "useAcrylic": true
            },
            {
                "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
                "hidden": false,
                "name": "PowerShell Core",
                "source": "Windows.Terminal.PowershellCore"
            }
        ]
    },

    "schemes": [],

    "keybindings": []
}

@DHowett solo queda un problema ... no reutiliza una instancia de wt existente y abre una nueva pestaña.

@gitfool y el # 4472: smile:

Puede hacerlo _ ligeramente_ más robusto usando %1\. lugar de solo %1 - ahora mismo, si lo abre en la raíz de una unidad, no hará lo que espera . Eso es # 4571

No estoy seguro de por qué, pero @gitfool reg no lo hizo por mí. Si paso %V , funciona, por ejemplo

C:\Users\islevin\AppData\Local\Microsoft\WindowsApps\wt -p "cmd" -d "%V"

Buen trabajo chicos, esto es casi perfecto para mí :)

Las entradas del menú contextual son geniales, abren la carpeta esperada, genial. Sin embargo, ejecuto Windows Terminal directamente (desde el menú de inicio, por ejemplo), el directorio de inicio es mi carpeta de inicio de Windows.

¿Hay alguna forma de hacer esto predeterminado en mi carpeta de inicio de WSL en su lugar, sin romper la entrada del menú contextual?

@rfgamaral vea mi profile.json arriba. Dado un startingDirectory predeterminado de

@gitfool Esto es lo que tengo pero no me funciona:

{
  "guid": "{58ad8b0c-3ef8-5f4d-bc6f-13e4c00f2530}",
  "name": "Debian (WSL)",
  "commandline": "wsl.exe -d Debian --exec zsh --login",
  "startingDirectory": "//wsl$/Debian/home/ricardo",
  "acrylicOpacity": 1.0,
  "colorScheme": "Flat UI (tweaked)",
  "fontSize": 10,
  "hidden": false,
  "padding": "3, 2",
  "useAcrylic": true
}

@rfgamaral No veo nada malo en tu configuración. ¿Existe su directorio de inicio de WSL o está usando un perfil diferente cuando inicia Terminal directamente?

Si lo hace:

image

No, solo tengo este perfil WSL.

@rfgamaral el sistema de archivos de Linux startingDirectory debe ser //wsl$/Debian/home/Ricardo .

@rfgamaral el sistema de archivos de Linux startingDirectory debe ser //wsl$/Debian/home/Ricardo .

¡Impresionante, esto lo arregló! Muchas gracias :)

Tal vez esto esté fuera del alcance de este problema, o tal vez no, lo preguntaré de todos modos ... Asumiendo la configuración descrita anteriormente por @gitfool , tengo esta carpeta de Windows C:\Users\Ricardo\Workspace y luego tengo un enlace simbólico dentro de WSL como ~/ Workspace -> /c/Users/AmaralR/Workspace/ .

¿Qué tan genial sería si al hacer clic derecho en la carpeta Workspace dentro del explorador se abriera ~/Workspace lugar de /c/Users/AmaralR/Workspace/ ? ¿Creen que esto es remotamente posible de lograr?

Hay un problema para mí. El comando de clic de Rick solo aparece cuando hago clic derecho en las carpetas. Sin embargo, cuando hago clic derecho en un espacio vacío dentro de una carpeta, la entrada del terminal no aparece (ver gif), aunque aparecen VS Code y mi distribución WSL predeterminada (Pengwin). Configuré Terminal, VS Code y Pengwin en el modo Extended Shell (manteniendo presionada la tecla Mayús).

GIF

Mi configuración actual:
`` Editor del registro de Windows versión 5.00

[HKEY_CLASSES_ROOT \ Directory \ shellwt]
@ = "Abrir terminal aquí
"Extendido" = ""
"Icon" = "D: \ OneDrive \ _Apps \ .config \ .icons \ terminal.ico"

[HKEY_CLASSES_ROOT \ Directory \ shellwtcommand]
@ = "C: \ Users \ steve \ AppData \ Local \ Microsoft \ WindowsApps \ wt.exe nueva-pestaña -d"% 1 "-p" Pengwin "" `` `

@Kalaschnik También necesitará una entrada en HKCR \ Directory \ Background \ Shell \ WindowsTerminalHere

Ver https://github.com/shanselman/WindowsTerminalHere/pull/3/files

Cuando intento lanzar una pestaña cmd en la terminal, obtengo

[error 0x8007010b al iniciar "cmd.exe"]

Hay un problema para mí. El comando de clic de Rick solo aparece cuando hago clic derecho en las carpetas.

No estoy seguro de cuál es el problema que causa eso, pero puedes consultar este repositorio para hacerlo más parecido a un PowerShell.

Gif demo

Hola a todos,
Implemento un script simple para agregar menú contextual.
Me funciona con la versión de terminal de Windows 0.9.433.0

Gracias @ nt4f04uNd y otros que me inspiran

Repo: menú contextual del terminal de Windows

Hola a todos,
Implemento un script simple para agregar menú contextual.
Me funciona con la versión de terminal de Windows 0.9.433.0

Gracias @ nt4f04uNd y otros que me inspiran

Repo: menú contextual del terminal de Windows

¡¡¡Esto es realmente genial !!! sin embargo pocas notas:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7
necesita Set-ExecutionPolicy en Unrestricted para ejecutarlo.

Además, esto parece roto:

Copy-Item : The filename, directory name, or volume label syntax is incorrect.
At D:\Jeff\Documents\Windows-terminal-context-menu\SetupContextMenu.ps1:25 char:1
+ Copy-Item -Path "$PSScriptRoot\icons\*.ico" -Destination $resourcePat ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Copy-Item], IOException
    + FullyQualifiedErrorId : System.IO.IOException,Microsoft.PowerShell.Commands.CopyItemCommand

this dir needs to be created either prior to or as part of the execution:
$env:LOCALAPPDATA\WindowsTerminalContextIcons\

Además, dice:

PS D:\Jeff\Documents\Windows-terminal-context-menu> .\SetupContextMenu.ps1
Add top layer menu (shell) => Registry::HKEY_CLASSES_ROOT\Directory\shell\WindowsTerminal
Add top layer menu (background) => Registry::HKEY_CLASSES_ROOT\Directory\shell\WindowsTerminal
Add new entry Git Bash
Add new entry Command Prompt
Add new entry PowerShell
Add new entry Azure Cloud Shell

pero en realidad no lo crea correctamente (faltan los íconos y mi Git Bash uno falta porque no tengo la clave oculta):
image

Se agregó esto en definiciones globales:
$gitbashIcoFileName = "git-bash.ico"

y esto después de la línea 101:

        elseif ($commandLine -like "*Git*bash.exe*") {
            $icoPath = $gitbashIcoFileName
        }

Parece que simplemente no le gusta cargar los íconos desde:
% LOCALAPPDATA% \ WindowsTerminalContextIcons \
... porque se ve bien en la clave de registro.

En cambio, cambié esta línea a:
$resourcePath = "$PSScriptRoot\icons\"

y eliminado:
Copy-Item -Path "$PSScriptRoot\icons\*.ico" -Destination $resourcePath

El problema es que si la carpeta no existe, los iconos no se pueden copiar, simplemente agregando mkdir $resourcePath antes de que el elemento de copia resuelva ese bit. Creé un problema en su repositorio por eso. Además, parece haber un problema con el análisis del perfil en algunos escenarios. De todos modos, ¡gracias por el guión!

Hola @Nomelas

Gracias por su respuesta.
He solucionado el problema de la falta del icono. Simplemente vuelva a instalarlo y vuelva a iniciar sesión.
No prefiero establecer $ resourcePath en la ubicación del script. Porque el usuario puede eliminar la carpeta del instalador por cualquier motivo y luego el icono volverá a fallar.

La segunda cosa, ¿podría compartir su perfil de git bash? Porque no tengo configurado Git-bash en mi WT.
Necesito un patrón para establecer la regla.

Hola @Nomelas

Gracias por su respuesta.
He solucionado el problema de la falta del icono. Simplemente vuelva a instalarlo y vuelva a iniciar sesión.
No prefiero establecer $ resourcePath en la ubicación del script. Porque el usuario puede eliminar la carpeta del instalador por cualquier motivo y luego el icono volverá a fallar.

La segunda cosa, ¿podría compartir su perfil de git bash? Porque no tengo configurado Git-bash en mi WT.
Necesito un patrón para establecer la regla.

He solucionado todos los problemas y estoy enviando un PR

@Nomelas , lamentablemente no me funciona. Edité el config.json y ejecuté el script ps. Después de hacer clic en el icono (sin carpetas de shell) recibo:
This file does not have a program associated with it for performing this action. Please install an app or, if one is already installed, create an association in the Default Apps Settings page.

Ese es el fragmento del registro:
image

Chicos, sé que llego un poco tarde a esta fiesta, pero ¿qué tal si utilizo OpenHere ? 😉

Ejecute PowerShell con permisos elevados y escriba:

Install-Module OpenHere
Set-OpenHereShortcut -ShortcutType:WindowsTerminal

👍 ¡a quién le gusta esto!

@ nt4f04uNd Quizás debería leer la documentación primero, especialmente Notas

Puede que me lo haya perdido, pero la configuración del directorio de inicio es "." abre el directorio de instalación de la terminal de Windows cuando se abre desde el menú de inicio y abre aquí el menú contextual se abre en el directorio en el que estás. Cuando utilizas "% USERPROFILE%", se abre en ambos sentidos solo en mi directorio de usuario.

¿Hay alguna manera de hacer que abrir aquí funcione y aún tener "% USERPROFILE%" como ruta predeterminada al abrir desde el menú de inicio? abrir aquí no funciona con "% USERPROFILE%".

@eskoONE y otros, ¡sí, lo es!
Hay una solución con el uso del argumento -d. Consulte https://github.com/nt4f04und/wt-contextmenu

Chicos, sé que llego un poco tarde a esta fiesta, pero ¿qué tal si utilizo OpenHere ? 😉

Ejecute PowerShell con permisos elevados y escriba:

Install-Module OpenHere
Set-OpenHereShortcut -ShortcutType:WindowsTerminal

👍 ¡a quién le gusta esto!

¡¡Funciona!! ¡Gracias!

Es mucho, _way_ más fácil que eso para agregar un solo comando al menú contextual de una carpeta. Es solo una simple clave de registro.

Por ejemplo (y luego también puede agregar un ícono, etc.)

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\Open Thing Here\command]
@="C:\\thing.exe \"%1\""

¿Cómo puedo agregar la opción para abrir ese thing.exe solo cuando presiono la tecla MAYÚS, como con la opción de "Ventana de PowerShell"?

Chicos, sé que llego un poco tarde a esta fiesta, pero ¿qué tal si utilizo OpenHere ? 😉

Ejecute PowerShell con permisos elevados y escriba:

Install-Module OpenHere
Set-OpenHereShortcut -ShortcutType:WindowsTerminal

👍 ¡a quién le gusta esto!

¿Como puedo quitarlo?

Chicos, sé que llego un poco tarde a esta fiesta, pero ¿qué tal si utilizo OpenHere ? 😉
Ejecute PowerShell con permisos elevados y escriba:

Install-Module OpenHere
Set-OpenHereShortcut -ShortcutType:WindowsTerminal

👍 ¡a quién le gusta esto!

¿Como puedo quitarlo?

De la documentación :
Remove-OpenHereShortcut -ShortcutType:WindowsTerminal

Hola a todos,
Implemento un script simple para agregar menú contextual.
Me funciona con la versión de terminal de Windows 0.9.433.0
Gracias @ nt4f04uNd y otros que me inspiran
Repo: menú contextual del terminal de Windows

¡¡¡Esto es realmente genial !!! sin embargo pocas notas:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7
necesita Set-ExecutionPolicy en Unrestricted para ejecutarlo.

Además, esto parece roto:

Copy-Item : The filename, directory name, or volume label syntax is incorrect.
At D:\Jeff\Documents\Windows-terminal-context-menu\SetupContextMenu.ps1:25 char:1
+ Copy-Item -Path "$PSScriptRoot\icons\*.ico" -Destination $resourcePat ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Copy-Item], IOException
    + FullyQualifiedErrorId : System.IO.IOException,Microsoft.PowerShell.Commands.CopyItemCommand

this dir needs to be created either prior to or as part of the execution:
$env:LOCALAPPDATA\WindowsTerminalContextIcons\

Además, dice:

PS D:\Jeff\Documents\Windows-terminal-context-menu> .\SetupContextMenu.ps1
Add top layer menu (shell) => Registry::HKEY_CLASSES_ROOT\Directory\shell\WindowsTerminal
Add top layer menu (background) => Registry::HKEY_CLASSES_ROOT\Directory\shell\WindowsTerminal
Add new entry Git Bash
Add new entry Command Prompt
Add new entry PowerShell
Add new entry Azure Cloud Shell

pero en realidad no lo crea correctamente (faltan los íconos y mi Git Bash uno falta porque no tengo la clave oculta):
image

Este script tiene algunos errores porque está hecho para una versión anterior de Windows Terminal, hice una bifurcación para corregir esos errores

https://github.com/KiritoDv/Windows-terminal-context-menu

image

Hola @KiritoDv
¿Podrías comprobar cuál es la versión de tu terminal de Windows?
Utilizo la última versión v0.9.433.0 y la instalo correctamente.

Gracias ~

Tengo la última versión, pero cuando actualizo mi archivo de perfiles es el mismo de la versión de perfiles anterior, lo siento, al menos el cambio funciona para alguien con el mismo error

Kuddos Kirito por hacer el guión, es realmente bueno. ¿Alguna posibilidad de que esto sea compatible con WT en el futuro?

@RonaldOlsthoorn Ciertamente hay una _ oportunidad_, de ahí por qué este problema sigue abierto 😄

Si alguien pudiera descubrir cómo instalar estas entradas del menú contextual desde una aplicación empaquetada y poder actualizar las entradas dinámicamente (para reflejar la lista de perfiles), entonces sin duda estaríamos interesados ​​en revisar un PR 😉 Hasta entonces, es solo en nuestra cartera de pedidos.

Tal vez las personas que lo hicieron para Pengwin también podrían hacerlo para Terminal (o al menos asesorar sobre lo que hicieron para que funcione).

Hola a todos,
Implemento un script simple para agregar menú contextual.
Me funciona con la versión de terminal de Windows 0.9.433.0
Gracias @ nt4f04uNd y otros que me inspiran
Repo: menú contextual del terminal de Windows

¡¡¡Esto es realmente genial !!! sin embargo pocas notas:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7
necesita Set-ExecutionPolicy en Unrestricted para ejecutarlo.
Además, esto parece roto:

Copy-Item : The filename, directory name, or volume label syntax is incorrect.
At D:\Jeff\Documents\Windows-terminal-context-menu\SetupContextMenu.ps1:25 char:1
+ Copy-Item -Path "$PSScriptRoot\icons\*.ico" -Destination $resourcePat ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Copy-Item], IOException
    + FullyQualifiedErrorId : System.IO.IOException,Microsoft.PowerShell.Commands.CopyItemCommand

this dir needs to be created either prior to or as part of the execution:
$env:LOCALAPPDATA\WindowsTerminalContextIcons\

Además, dice:

PS D:\Jeff\Documents\Windows-terminal-context-menu> .\SetupContextMenu.ps1
Add top layer menu (shell) => Registry::HKEY_CLASSES_ROOT\Directory\shell\WindowsTerminal
Add top layer menu (background) => Registry::HKEY_CLASSES_ROOT\Directory\shell\WindowsTerminal
Add new entry Git Bash
Add new entry Command Prompt
Add new entry PowerShell
Add new entry Azure Cloud Shell

pero en realidad no lo crea correctamente (faltan los íconos y mi Git Bash uno falta porque no tengo la clave oculta):
image

Este script tiene algunos errores porque está hecho para una versión anterior de Windows Terminal, hice una bifurcación para corregir esos errores

https://github.com/KiritoDv/Windows-terminal-context-menu

image

Felicitaciones por hacer el guión, funciona como un encanto.

Nota de implementación: el manifiesto de la aplicación PowerToys muestra cómo declarar los menús contextuales del explorador de archivos para archivos y carpetas. Sin embargo, no estoy seguro de si esto requeriría un registro del servidor COM concomitante ...

Sin embargo, tenga en cuenta que la superposición con el número 2189 parece más paralela que complementaria.

<Extensions>
        ...
        <com:Extension Category="windows.comServer">
          <com:ComServer>
            <com:ExeServer Executable="modules\PowerRenameUWPUI.exe" DisplayName="PowerRenameUWPUI">
              <com:Class Id="0440049F-D1DC-4E46-B27B-98393D79486B"/>
            </com:ExeServer>
          </com:ComServer>
        </com:Extension>
        <desktop4:Extension Category="windows.fileExplorerContextMenus">
          <desktop4:FileExplorerContextMenus>
            <desktop4:ItemType Type="*">
              <desktop4:Verb Id="FilePowerRename" Clsid="0440049F-D1DC-4E46-B27B-98393D79486B" />
            </desktop4:ItemType>
            <desktop5:ItemType Type="Directory">
              <desktop5:Verb Id="DirectoryPowerRename" Clsid="0440049F-D1DC-4E46-B27B-98393D79486B" />
            </desktop5:ItemType>
          </desktop4:FileExplorerContextMenus>
        </desktop4:Extension>

No he rastreado el código fuente.
No estoy seguro de cuál es la función de devolución de llamada de profiles.json modified🤔.

El mío funcionó después de pasar mucho tiempo leyendo los comentarios de las personas.

Pasos para agregar "Terminal de Windows aquí" en el menú contextual del botón derecho:
1) Descargue el terminal de Windows de la tienda de Microsoft

2) En https://github.com/yanglr/WindowsDevTools/blob/master/awosomeTerminal/icons/wt_32.ico
descargar icono con nombre de archivo wt_32.ico

3) Abra su CMD y ejecute este comando mkdir "%USERPROFILE%\AppData\Local\terminal"

4) Copie el icono de la terminal de Windows (que ha descargado en el Paso 2) en la carpeta C: \ Usuarios [su-nombre-de-usuario] AppData \ Local \ terminal
(Ejemplo para el mío para copiar el icono: C: \ Users \ DellAppData \ Local \ terminal)

5) Abra notpad y escriba el código a continuación

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"=C:\\Users\\[your-user-name]\\AppData\\Local\\terminal\\wt_32.ico

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\[your-user-name]\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"

6) Nota:
En [su-nombre-de-usuario] escriba su nombre de usuario.
por ejemplo, mi nombre de usuario es Dell, mis rutas serán

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"=C:\\Users\\DELL\\AppData\\Local\\terminal\\wt_32.ico

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\DELL\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"

Guarde el archivo como wt.reg en su escritorio (o en cualquier lugar de su PC) y ábralo
(presione OK todo)
7) Pruébelo haciendo clic derecho => Seleccione el terminal de Windows aquí
[Se abrirá el terminal de Windows (Vista previa)] 👍

Todavía no funciona cuando se agrega el menú contextual a las unidades en el Explorador de archivos. Abre WT por un segundo y luego lo cierra. ¿Alguna pista de cómo resolver este problema en particular?

@ 4k3or3et No estoy seguro de a qué te refieres, pero el trabajo de @ atif-dev y otros como @ zadjii-msft es bastante redundante ya que hay un módulo de Windows PowerShell que cubre completamente esto, incluida la reversión y personalización.

@ 4k3or3et No estoy seguro de a qué te refieres, pero el trabajo de @ atif-dev y otros como @ zadjii-msft es bastante redundante ya que hay un módulo de Windows PowerShell que cubre completamente esto, incluida la reversión y personalización.

De manera similar, como agrega elementos del menú contextual en HKEY_CLASSES_ROOT\Direcroty\shell , también puede agregarlos en HKEY_CLASSES_ROOT\Drive\shell . Obtiene elementos del menú contextual cuando hace clic derecho en las unidades en el Explorador de archivos.

El problema es que cuando agrega "C:\Users\PROFILE\AppData\Local\Microsoft\WindowsApps\wt.exe -d "%V" -p "Debian" que funciona en el caso de carpetas, no lo hace para unidades en el Explorador de archivos. WT luego se abre por un segundo y se cierra por alguna razón.

Mi pregunta es si alguien descubrió por qué Windows Terminal no puede manejar el "% V" en el caso de Drive.

Gracias.

El atajo debe ser %V\.

El atajo debe ser %V\.

¡Oh hombre! ¡¡¡Esto es asombroso !!!

Esto funciona para unidades y carpetas ...

¿Sería tan amable de explicarme la "ciencia" detrás de "% V"? ¿En qué se diferencia del "% V" normal?

Así que este es uno de esos "problemas extraños". "%V" en la raíz de la unidad se expande a "C:\" . La mayoría de los analizadores de argumentos de comando manejan \" como " , porque \ es el carácter de "escape". Por lo tanto, convierte la ruta de "C:\" en C:" (eliminando la primera cita y consumiendo la segunda).

El uso de "%V\." hace que la raíz de la unidad se expanda a "C:\\." , lo cual es totalmente legal.

Así que este es uno de esos "problemas extraños". "%V" en la raíz de la unidad se expande a "C:\" . La mayoría de los analizadores de argumentos de comando manejan \" como " , porque \ es el carácter de "escape". Por lo tanto, convierte la ruta de "C:\" en C:" (eliminando la primera cita y consumiendo la segunda).

El uso de "%V\." hace que la raíz de la unidad se expanda a "C:\\." , lo cual es totalmente legal.

Entendido. De nuevo, gracias por tu ayuda.

Lo instalé a través de la tienda, pero Windows me dice "Aplicación no encontrada" cuando pongo wt.exe como comando en la clave de registro. Si lo cambio a la ruta completa, es decir, %LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe , obtengo un error de "no se puede acceder" (no los derechos correctos para este elemento).

Actualmente tengo el comando agregado como cmd.exe /C start wt.exe , y esto funciona, aunque el antiguo indicador de cmd parpadea en la pantalla al abrir wt.

Lo instalé a través de la tienda, pero Windows me dice "Aplicación no encontrada" cuando pongo wt.exe como comando en la clave de registro. Si lo cambio a la ruta completa, es decir, %LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe , obtengo un error de "no se puede acceder" (no los derechos correctos para este elemento).

Actualmente tengo el comando agregado como cmd.exe /C start wt.exe , y esto funciona, aunque el antiguo indicador de cmd parpadea en la pantalla al abrir wt.

cambiar a través de regedit% LOCALAPPDATA% en una dirección real como "C: \ Users \ [user] AppData \ Local"

y luego agregué este "startingDirectory": "%__CD__%" a profile.json

Lo instalé a través de la tienda, pero Windows me dice "Aplicación no encontrada" cuando pongo wt.exe como comando en la clave de registro. Si lo cambio a la ruta completa, es decir, %LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe , obtengo un error de "no se puede acceder" (no los derechos correctos para este elemento).
Actualmente tengo el comando agregado como cmd.exe /C start wt.exe , y esto funciona, aunque el antiguo indicador de cmd parpadea en la pantalla al abrir wt.

cambiar a través de regedit% LOCALAPPDATA% en una dirección real como "C: \ Users [usuario] AppData \ Local"

y luego agregué este "startingDirectory": "%__CD__%" a profile.json

Gracias, parece que este es el enfoque correcto, utilizando la ruta expandida en lugar de %LOCALAPPDATA% . Estoy usando "startingDirectory": "." que también funciona como se esperaba.

@ Wosser1sProductions solo usa este cmd.exe /s /k pushd "%V" lugar de cualquier otro comando.

El punto es abrir la nueva Terminal de Windows (el ejecutable wt.exe ) desde el menú contextual. El valor predeterminado para abrir el símbolo del sistema normal es de hecho cmd.exe /s /k pushd "%V" .

He aquí una solución.

Lo malo del archivo reg es que debe agregar la ruta de acceso de un usuario específico (ya que UWP se instala por usuario) en un contexto HKEY_CLASSES_ROOT. Intenté reemplazarlo por HKEY_CURRENT_USER pero no me funciona.

SI hay una forma de instalar WT en todo el sistema en una carpeta "global", sería una mejor práctica

Permítanme agregar mi archivo reg aquí, para que cualquier otra persona pueda usarlo:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows Terminal Here"
"Icon"="E:\\Resimler\\ico\\terminal.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="D:\\WindowsApps\\Microsoft.WindowsTerminal_0.10.781.0_x64__8wekyb3d8bbwe\\WindowsTerminal.exe"

La primera @ es el texto que aparecerá en el menú contextual (_ "Windows Terminal Here" _)
"Icono" es la ruta del icono que también se verá en el menú contextual.
Segundo @ es la ruta de ejecución de Terminal. necesitas averiguar dónde está.

Personalice y pegue este código en un archivo txt y cámbiele el nombre a _wt.reg_. Que ejecutarlo.

Luego abra su nueva terminal de Windows. Ir a la configuración:
image

Aquí estamos en profiles.json
Pegue esos códigos en él:


{
    "$schema": "https://aka.ms/terminal-profiles-schema",
    "defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
    "profiles":
    {
        "defaults":
        {
        },
        "list":
        [
            {
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "cmd",
                "commandline": "cmd.exe",
                "hidden": false,
                "startingDirectory": "."
            },
            {
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            },
            {
                "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
                "hidden": false,
                "name": "Ubuntu",
                "source": "Windows.Terminal.Wsl"
            }
        ]
    },
    "schemes": [],
    "keybindings": []
}


Eso es

aquí está mi secuencia de comandos de registro, hace uso de los argumentos de la línea de comandos. Lo configuré para los nombres de perfil predeterminados de CMD, Powershell y WSL Ubuntu, con indicaciones tanto normales como de administrador. No requiere ningún cambio en profiles.json, a diferencia de la mayoría de los scripts que he visto en este número
https://gist.github.com/OmegaRogue/9069405e7b0bf5e76f1c5d9c96f8b663

Ninguna de estas opciones es algo con lo que estaría totalmente feliz. Entonces, apuñalé.

Modifiqué la solución de

image

Desafortunadamente, no puedo entender cómo obtener los comandos de administración al mismo nivel. Esto es lo que tengo:
image

Aquí está mi archivo .reg
Dejé algunos comentarios para ayudar a las personas a descubrir qué secciones hacen qué, para que tal vez alguien pueda ayudar a arreglar el anidamiento de administración.

Ninguna de estas opciones es algo con lo que estaría totalmente feliz. Entonces, apuñalé.

Modifiqué la solución de

image

Desafortunadamente, no puedo entender cómo obtener los comandos de administración al mismo nivel. Esto es lo que tengo:
image

Aquí está mi archivo .reg
Dejé algunos comentarios para ayudar a las personas a descubrir qué secciones hacen qué, para que tal vez alguien pueda ayudar a arreglar el anidamiento de administración.

Puedo modificar mi archivo para hacer eso y eliminar el anidamiento de administrador

@OmegaRogue Bonito, pero supongo que el icono del menú principal morirá con una versión (y por tanto, el cambio de ruta de WindowsTerminal.exe). Quizás sería mejor reemplazarlo con un ícono más accesible universalmente.

Editar: Además, si logra agregar opciones de administración (de @ t-makaro) sin el problema de anidación, sería genial.

Es curioso, cómo @lllopo @OmegaRogue @ t-makaro @sundowatch y otros reinventando una rueda.

Estos archivos reg tienen los mismos errores una y otra vez. Carecen de retroceso o pruebas. No funcionan en rutas con caracteres no ASCII como ě š č ř í é ý é ů o tiene que cambiar la configuración de su Terminal.

En su lugar, eche un vistazo aquí .

Es curioso, cómo @lllopo @OmegaRogue @ t-makaro @sundowatch y otros reinventando una rueda.

Estos archivos reg tienen los mismos errores una y otra vez. Carecen de retroceso o pruebas. No funcionan en rutas con caracteres no ASCII como ě š č ř í é ý é ů o tiene que cambiar la configuración de su Terminal.

En su lugar, eche un vistazo aquí .

Conozco el problema y la versión que uso no lo tiene, acabo de publicar esta versión para facilitar la lectura, mi versión usa texto codificado en hexadecimal (2) en lugar de una cadena normal

Las personas luego olvidan el efecto secundario de si agrega "startingDirectory": "." para trabajar con la edición del Registro que agrega clic derecho para abrir en la carpeta actual, que ahora si simplemente abre la Terminal a través del menú de inicio, se abre en la directorio system32

Las personas luego olvidan el efecto secundario de si agrega "startingDirectory": "." para trabajar con la edición del Registro que agrega clic derecho para abrir en la carpeta actual, que ahora si simplemente abre la Terminal a través del menú de inicio, se abre en la directorio system32

que es la razón por la que mi script no necesita eso

Ninguna de estas opciones es algo con lo que estaría totalmente feliz. Entonces, apuñalé.

Modifiqué la solución de

image

Desafortunadamente, no puedo entender cómo obtener los comandos de administración al mismo nivel. Esto es lo que tengo:
image

Aquí está mi archivo .reg
Dejé algunos comentarios para ayudar a las personas a descubrir qué secciones hacen qué, para que tal vez alguien pueda ayudar a arreglar el anidamiento de administración.

He agregado una versión de mi script de registro a la esencia que no tiene anidamiento:
https://gist.github.com/OmegaRogue/9069405e7b0bf5e76f1c5d9c96f8b663#file -directory_prompts_windowsterminal_nonnested-reg

Hice esto:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows Terminal here"
"Icon"="C:\\Program Files\\WindowsApps\\Microsoft.WindowsTerminal_0.10.781.0_x64__8wekyb3d8bbwe\\WindowsTerminal.exe"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\<user>\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d %V"

[HKEY_CLASSES_ROOT\Directory\shell\wt]
@="Windows Terminal here"
"Icon"="C:\\Program Files\\WindowsApps\\Microsoft.WindowsTerminal_0.10.781.0_x64__8wekyb3d8bbwe\\WindowsTerminal.exe"

[HKEY_CLASSES_ROOT\Directory\shell\wt\command]
@="C:\\Users\\<user>\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d %V"
  • ejecutalo

Hice esto:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows Terminal here"
"Icon"="C:\\Users\\<user>\\AppData\\Local\\Terminal\\terminal.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\<user>\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d ."

[HKEY_CLASSES_ROOT\Directory\shell\wt]
@="Windows Terminal here"
"Icon"="C:\\Users\\<user>\\AppData\\Local\\Terminal\\terminal.ico"

[HKEY_CLASSES_ROOT\Directory\shell\wt\command]
@="C:\\Users\\<user>\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d ."
  • ejecutalo

No es necesario que descargue el icono, solo puede usar la ruta del ejecutable como ruta del icono, como hice en mi script de registro

Bueno, ¿necesitamos editar el archivo reg cada vez que se actualiza el terminal de Windows? es mejor almacenar el archivo de icono en otro lugar

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows Terminal here"
"Icon"="C:\\Program Files\\WindowsApps\\Microsoft.WindowsTerminal_0.11.1121.0_x64__8wekyb3d8bbwe\\WindowsTerminal.exe"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\user\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d ."

[HKEY_CLASSES_ROOT\Directory\shell\wt]
@="Windows Terminal here"
"Icon"="C:\\Program Files\\WindowsApps\\Microsoft.WindowsTerminal_0.11.1121.0_x64__8wekyb3d8bbwe\\WindowsTerminal.exe"

[HKEY_CLASSES_ROOT\Directory\shell\wt\command]
@="C:\\Users\\user\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d ."

Noté que hacer clic derecho en una carpeta y ejecutar la terminal no funciona correctamente, se abre en la carpeta contenedora.
Llegué a una solución reemplazando wt.exe -d . con wt.exe -d "%V" en el script de registro, esa es la forma en que VS Code lo hace.

Aquí está el script de registro fijo que utilicé (sin icono)

Editar: Añadido% V. como se sugiere y haga clic derecho en una unidad.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\wt]
@="Open Windows Terminal here"
[HKEY_CLASSES_ROOT\Directory\shell\wt\command]
@="C:\\Users\\user\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d \"%V.\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Open Windows Terminal here"
[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\user\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d \"%V.\""

[HKEY_CLASSES_ROOT\Drive\shell\wt]
@="Open Windows Terminal here"
[HKEY_CLASSES_ROOT\Drive\shell\wt\command]
@="C:\\Users\\user\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d \"%V.\""

Esta solución funcionó muy bien, gracias.

@BealeStBluesBoy y @ megapro17 Gracias por su archivo de registro.
Me di cuenta de que wt.exe -d \"%V\" se abre correctamente con la carpeta seleccionada, pero no funciona cuando está en la raíz de una unidad. Ejemplo en c: o d: . Abre el terminal pero con código 0x8007010b error
Además, cuando selecciona una unidad y ejecuta ese comando, aparece otro error y la terminal ni siquiera se abre.

Sin embargo, con wt.exe -d . la terminal se abre sin problemas, no importa dónde se encuentre. La desventaja es que simplemente abre el directorio en el que se encuentra actualmente, no el directorio que ha seleccionado. Cuando selecciona una unidad directamente, simplemente se abre en la carpeta c:\windows\system32 .

Me quedaré con wt.exe -d . ya que siempre abre una terminal utilizable.

EDITAR:
Como @ DHowett-MSFT sugirió a continuación, hay otra opción wt.exe -d \"%V\.\" . Esto mejora el comportamiento y hace que una terminal se abra incluso cuando estás en la raíz de una unidad. Una cosa que todavía no funciona con esta solución es cuando selecciona una unidad. Esto todavía resulta en un error.

Offtopic: Este número es una forma demasiado grande de leer cada comentario individual :) Lo siento por publicar dos veces un problema.

Pruebe "%V\." , como se sugiere varias veces en este hilo.

¿Cómo se agrega también una ejecución como administrador?

¿Podemos cambiar a administrador a través de la terminal?

¿Podemos cambiar a administrador a través de la terminal?

Ahora mismo no con Windows Terminal de vainilla. Quizás WT v2.0, vea el n. ° 5000. Pero, hay una solución: puede usar gsudo, un Sudo de código abierto para Windows.
https://github.com/gerardog/gsudo

Como soy el autor, me siento obligado a advertir que es técnicamente posible que un malware especialmente diseñado pueda enviar pulsaciones de teclas a la consola sudo'ed y omitir el aislamiento de UAC y escalar privilegios.

Hablando de cmd way, ya existe un comando cmd llamado runas que solicita la contraseña (similar a sudo ).
https://en.wikipedia.org/wiki/Runas

¿Podemos cambiar a administrador a través de la terminal?

Ahora mismo no con Windows Terminal de vainilla. Mayve WT v2.0, ver # 5000. Pero, hay una solución: puede usar gsudo, un Sudo de código abierto para Windows.
https://github.com/gerardog/gsudo

Como soy el autor, me siento obligado a advertir que es técnicamente posible que un malware especialmente diseñado pueda enviar pulsaciones de teclas a la consola sudo'ed y omitir el aislamiento de UAC y escalar privilegios.

¿Qué pasa si comprobamos el acceso no deseado a través de algún mecanismo de seguridad? Funcionaría eso? GSudo es un buen comienzo.

@BealeStBluesBoy y @ megapro17 Gracias por su archivo de registro.
Me di cuenta de que wt.exe -d \"%V\" se abre correctamente con la carpeta seleccionada, pero no funciona cuando está en la raíz de una unidad. Ejemplo en c: o d: . Abre el terminal pero con código 0x8007010b error
Además, cuando selecciona una unidad y ejecuta ese comando, aparece otro error y la terminal ni siquiera se abre.

Sin embargo, con wt.exe -d . la terminal se abre sin problemas, no importa dónde se encuentre. La desventaja es que simplemente abre el directorio en el que se encuentra actualmente, no el directorio que ha seleccionado. Cuando selecciona una unidad directamente, simplemente se abre en la carpeta c:\windows\system32 .

Me quedaré con wt.exe -d . ya que siempre abre una terminal utilizable.

EDITAR:
Como @ DHowett-MSFT sugirió a continuación, hay otra opción wt.exe -d \"%V\.\" . Esto mejora el comportamiento y hace que una terminal se abra incluso cuando estás en la raíz de una unidad. Una cosa que todavía no funciona con esta solución es cuando selecciona una unidad. Esto todavía resulta en un error.

Offtopic: Este número es una forma demasiado grande de leer cada comentario individual :) Lo siento por publicar dos veces un problema.

@brainfoolong Hay otros problemas además de la raíz de una unidad, pero he resuelto todos estos problemas aquí . ✌

¿Cómo se agrega también una ejecución como administrador?

@aminya Apagué UAC y deshabilité el modo de aprobación de administrador (AAM) como BrainSlugs83 respondió en https://superuser.com/questions/462174/winr-runs-as-administrator-in-windows-8.
Si no le importan los problemas de seguridad o los efectos secundarios que puedan causar, después de hacer esto, la Terminal de Windows se ejecutará como Administrador de forma predeterminada, por lo que no se necesitan más configuraciones después de usar el script de registro anterior.

Finalmente solucioné el problema 🚀. Solo fusiona esto.

Tiene el botón de administración sin problemas de seguridad.

Archivo de registro genérico

(Si no tiene PowerShellCore, esto es más lento):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Open Windows Terminal Here"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process wt.exe -ArgumentList \\\"-d\\\",\\\"%V.\\\"\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt_admin]
@="Open Windows Terminal Here as Admin"
"Icon"="cmd.exe"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt_admin\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process wt.exe -ArgumentList \\\"-d\\\",\\\"%V.\\\" -Verb RunAs\""

[HKEY_CLASSES_ROOT\Directory\shell\wt]
@="Open Windows Terminal Here"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\shell\wt\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process wt.exe -ArgumentList \\\"-d\\\",\\\"%V.\\\"\""


[HKEY_CLASSES_ROOT\Directory\shell\wt_admin]
@="Open Windows Terminal Here as Admin"
"Icon"="cmd.exe"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\shell\wt_admin\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process wt.exe -ArgumentList \\\"-d\\\",\\\"%V.\\\" -Verb RunAs\""

Archivo de registro más rápido

(Si tiene PowerShellCore)

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Open Windows Terminal Here"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="pwsh -windowstyle hidden -Command \"Start-Process wt.exe -ArgumentList \\\"-d\\\",\\\"%V.\\\"\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt_admin]
@="Open Windows Terminal Here as Admin"
"Icon"="cmd.exe"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt_admin\command]
@="pwsh -windowstyle hidden -Command \"Start-Process wt.exe -ArgumentList \\\"-d\\\",\\\"%V.\\\" -Verb RunAs\""

[HKEY_CLASSES_ROOT\Directory\shell\wt]
@="Open Windows Terminal Here"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\shell\wt\command]
@="pwsh -windowstyle hidden -Command \"Start-Process wt.exe -ArgumentList \\\"-d\\\",\\\"%V.\\\"\""


[HKEY_CLASSES_ROOT\Directory\shell\wt_admin]
@="Open Windows Terminal Here as Admin"
"Icon"="cmd.exe"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\shell\wt_admin\command]
@="pwsh -windowstyle hidden -Command \"Start-Process wt.exe -ArgumentList \\\"-d\\\",\\\"%V.\\\" -Verb RunAs\""

Puede descargar el icono desde aquí y reemplazar su ruta de descarga (escape \ ) con cmd.exe :
https://raw.githubusercontent.com/microsoft/terminal/master/res/terminal.ico

El modo de administración de -windowstyle hidden parece ignorarse

El modo de administración de

Es posible que deba reiniciar explorer.exe

-windowstyle hidden parece ignorarse

Muestra las ventanas por un momento.

algunos de los scripts de administración no funcionan para mí, no estoy seguro de por qué, pero he notado que git bash (hablando de qué vscode parecen tener muchos puntos de entrada open with vs code dispersos en el registro) se muestra en más menús de los que ofrecen algunas de las soluciones, así que creé una versión simplificada de @OmegaRogue
esto usa "%USERPROFILE%\AppData\Local\Microsoft\WindowsApps\wt.exe" "-d" "." como comando, como se sugiere
https://gist.github.com/YoraiLevi/283532872b26b93e562b04812821db25

Windows Registry Editor Version 5.00

;drive
[HKEY_CLASSES_ROOT\Drive\shell\wt]
@="Open Windows Terminal Here"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Drive\shell\wt\command]
@=hex(2):22,00,25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,\
  00,45,00,25,00,5c,00,41,00,70,00,70,00,44,00,61,00,74,00,61,00,5c,00,4c,00,\
  6f,00,63,00,61,00,6c,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,\
  00,74,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,41,00,70,00,70,00,\
  73,00,5c,00,77,00,74,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,00,2d,00,64,\
  00,22,00,20,00,22,00,2e,00,22,00,00,00
;end drive


;background 1
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\wt]
@="Open Windows Terminal Here"
"Icon"="cmd.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\wt\command]
@=hex(2):22,00,25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,\
  00,45,00,25,00,5c,00,41,00,70,00,70,00,44,00,61,00,74,00,61,00,5c,00,4c,00,\
  6f,00,63,00,61,00,6c,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,\
  00,74,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,41,00,70,00,70,00,\
  73,00,5c,00,77,00,74,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,00,2d,00,64,\
  00,22,00,20,00,22,00,2e,00,22,00,00,00
;end background 1

;libary folders, like what git does
[HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\wt]
@="Open Windows Terminal Here"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\wt\command]
@=hex(2):22,00,25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,\
  00,45,00,25,00,5c,00,41,00,70,00,70,00,44,00,61,00,74,00,61,00,5c,00,4c,00,\
  6f,00,63,00,61,00,6c,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,\
  00,74,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,41,00,70,00,70,00,\
  73,00,5c,00,77,00,74,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,00,2d,00,64,\
  00,22,00,20,00,22,00,2e,00,22,00,00,00
;end library folders 

;background 2
[HKEY_CLASSES_ROOT\Directory\background\shell\wt]
@="Open Windows Terminal Here"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\background\shell\wt\command]
@=hex(2):22,00,25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,\
  00,45,00,25,00,5c,00,41,00,70,00,70,00,44,00,61,00,74,00,61,00,5c,00,4c,00,\
  6f,00,63,00,61,00,6c,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,\
  00,74,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,41,00,70,00,70,00,\
  73,00,5c,00,77,00,74,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,00,2d,00,64,\
  00,22,00,20,00,22,00,2e,00,22,00,00,00
;end background 2

Acabo de crear dos scripts de PowerShell para instalar / desinstalar los elementos del menú contextual y los compartí en GitHub en

https://github.com/lextm/windowsterminal-shell

La lógica es similar a lo que propuso @ nerdio01 , pero el diseño del menú es ligeramente diferente (actualización: ahora se admiten varios diseños).

image

Con install.ps1 y uninstall.ps1 , ya no necesita importar archivos de claves de registro y preguntarse cómo eliminarlos si no lo desea.

Las solicitudes de extracción son bienvenidas.

Un poco molesto que el ícono esté en una ruta versionada, ¿hay una mejor manera de hacer referencia a él además de simplemente enviar el mío?

A mi modo de ver, tener que editar manualmente el registro no es una solución ideal. Parte de los puntos de venta de este proyecto es que admite varios tipos de shells (pwsh, cmd, ubuntu, lo que sea) y esta lista puede variar de un usuario a otro. Un script de registro fijo no es suficiente.
También habría que recordar eliminar manualmente los cambios realizados en el registro al desinstalar Windows Terminal.

¿Existe un diseño / consideración técnica / limitación específica que impida que esta función se integre en el propio Terminal de Windows? ¿O es más una cuestión de mano de obra, prioridades y tiempo?

mano de obra, prioridades y tiempo

Definitivamente ese. Si tuviera todo el tiempo de ingeniería para gastar, me gustaría ofrecer una extensión de shell real que detectara sus perfiles y los mostrara en un menú, y le permitiera generar shells en instancias de Terminal que ya se están ejecutando.

Después de pensarlo un poco, creo que podría haber una forma más sencilla de abordar esto. ¿Qué pasaría si solo hubiera una entrada estática en el menú contextual, que al hacer clic en ella abriría la Terminal de Windows donde se les pedirá que seleccionen un perfil?

Esto eliminaría la necesidad de mantener un conjunto dinámico de claves de registro. Y hágalo de modo que el archivo de configuración no necesite ser analizado y verificado en busca de cambios de perfil en cada clic derecho.

No me he familiarizado con el código base de este proyecto, por lo que no puedo decir con certeza si eso reduciría la cantidad de trabajo necesario para implementarlo. Pero me gustaría escuchar tu opinión sobre eso.

simplemente escriba wt en la barra de direcciones en el explorador de Windows en cualquier carpeta y presione enter

Si alguien intentó @ llevo3, el consejo de escribir wt en la barra de direcciones del explorador como lo haría con cmd no está funcionando para usted.

Luego, asegúrese de que lo siguiente esté en su variable de entorno PATH
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps

simplemente escriba wt en la barra de direcciones en el explorador de Windows en cualquier carpeta y presione enter

@ llevo3 esto no abre la terminal de Windows en el directorio actual. Más bien se abre con el directorio predeterminado.

@abdulghanitech, este problema extremadamente específico se ha discutido no menos de 30 veces en este hilo. 😄

simplemente escriba wt en la barra de direcciones en el explorador de Windows en cualquier carpeta y presione enter

@ llevo3 esto no abre la terminal de Windows en el directorio actual. Más bien se abre con el directorio predeterminado.

si desea abrir el directorio actual, simplemente use la opción -d delante de la dirección
ex
wt -d [path you want to go]

Para aclarar, puede abrir el directorio actual escribiendo wt -d .

P: Una vez que la terminal se abre con wt -d . , ¿hay alguna forma de usar esa misma ruta para nuevas instancias de terminal (pestaña / panel)?

Gracias a todos los que comentaron una solución y diferentes enfoques para aplicar esto correctamente. Lo conseguí trabajando con Console 2. Usando el "Abrir aquí" con la bandera -d . funcionó perfecto.

Disculpe, ¿cómo puedo arreglar esto?

image

Amigo, no vayas a un hilo no relacionado para hacer una pregunta. Presenta un nuevo error y el equipo puede verlo 😄

@miniksa @ zadjii-msft @ DHowett-MSFT @factormystic @ChrisGuzak

Resolví el problema ahora, podría cerrarse. Muchas gracias a todos los que participaron en esta discusión.

Paso 0:

Pruebe si las dos constantes siguientes funcionan bien, que se utilizarán en los siguientes pasos.

echo %USERPROFILE%

echo %LOCALAPPDATA%

Si todo funciona bien aquí, estas dos constantes se pueden usar directamente en otros pasos a continuación.

O realice los siguientes reemplazos en los pasos siguientes:

% PERFIL DE USUARIO% → C:\Users\[userName]
% LOCALAPPDATA% → C:\Users\[userName]\AppData\Local

Aquí [userName] representa su nombre de usuario, por ejemplo, el mío es Bruce .

Paso 1:
Ejecute debajo de las cosas en CMD :

mkdir "%USERPROFILE%\AppData\Local\terminal"

image

Paso 2:
Copie el icono del terminal de Windows en la carpeta %USERPROFILE%\AppData\Local\terminal , el icono se puede obtener en https://github.com/yanglr/WindowsDevTools/tree/master/awosomeTerminal/icons cuyo nombre de archivo es wt_32.ico .

Paso 3:
Guarde el siguiente contenido como wt.reg , luego ejecútelo como administrador.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"="%USERPROFILE%\\AppData\\Local\\terminal\\wt_32.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"

Cabe señalar que si el exe obtenido después de la construcción del código es wtd.exe , debe cambiar el anterior wt.exe a wtd.exe en el registro anterior.

Etapa 4:
Prueba
image

Tuve un problema con esta solución, algunos problemas de permisos, si puede ayudar a alguien
reemplazar
@="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"
con
@="C:\\Users\\YOURUSERNAME\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d ."

Según tengo entendido, las variables de entorno codificadas en porcentaje deben usar el tipo de cadena expandible ( REG_EXPAND_SZ ) para que se interpreten correctamente, por lo que creo que algunas de las otras soluciones no funcionan completamente 1 . Creé el siguiente script del Registro que usa cadenas expandibles para que no tenga que cambiar el nombre de usuario; sin embargo, probablemente desee cambiar la ruta del icono .

También agregué una acción / opción para abrir como administrador.

Windows Registry Editor Version 5.00

;Binary data is just UTF16 (LE) split every 2 bytes with a comma
;Conversion done with https://onlineutf8tools.com/convert-utf8-to-utf16?hex=true&little-endian=true&space=false&chain=split-string%253Fsplit-by-length%253Dtrue%2526separator%253D%252C

;User action
[HKEY_CLASSES_ROOT\Directory\Background\shell\WindowsTerminal]
@="Open Terminal here"
;"Icon"="%USERPROFILE%\Pictures\Icons\terminal.ico" (Location to ICO or comment out to hide icon)
"Icon"=hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,00,45,00,25,00,5c,00,50,00,69,00,63,00,74,00,75,00,72,00,65,00,73,00,5c,00,49,00,63,00,6f,00,6e,00,73,00,5c,00,74,00,65,00,72,00,6d,00,69,00,6e,00,61,00,6c,00,2e,00,69,00,63,00,6f,00

;User action command
[HKEY_CLASSES_ROOT\Directory\Background\shell\WindowsTerminal\command]
;@="%LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe -d ."
@=hex(2):25,00,4c,00,4f,00,43,00,41,00,4c,00,41,00,50,00,50,00,44,00,41,00,54,00,41,00,25,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,41,00,70,00,70,00,73,00,5c,00,77,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,64,00,20,00,2e,00

;Admin action
[HKEY_CLASSES_ROOT\Directory\Background\shell\WindowsTerminalAdmin]
@="Open Terminal here (Admin)"
;Show the UAC shield on the action
"HasLUAShield"=""
;"Icon"="%USERPROFILE%\Pictures\Icons\terminal.ico" (Location to ICO or comment out to hide icon)
"Icon"=hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,00,45,00,25,00,5c,00,50,00,69,00,63,00,74,00,75,00,72,00,65,00,73,00,5c,00,49,00,63,00,6f,00,6e,00,73,00,5c,00,74,00,65,00,72,00,6d,00,69,00,6e,00,61,00,6c,00,2e,00,69,00,63,00,6f,00

;Admin action command
[HKEY_CLASSES_ROOT\Directory\Background\shell\WindowsTerminalAdmin\command]
@="PowerShell -WindowStyle Hidden -Command \"Start-Process wt -ArgumentList '-d','.' -Verb runAs\""
  1. https://superuser.com/a/599025

Según tengo entendido, las variables de entorno codificadas en porcentaje deben usar el tipo de cadena expandible ( REG_EXPAND_SZ ) para que se interpreten correctamente, por lo que creo que algunas de las otras soluciones no _completamente_ funcionan1. Creé el siguiente script del Registro que usa cadenas expandibles para que no tenga que cambiar el nombre de usuario; sin embargo, probablemente desee cambiar la ruta del icono .

También agregué una acción / opción para abrir como administrador.

Windows Registry Editor Version 5.00

;Binary data is just UTF16 (LE) split every 2 bytes with a comma
;Conversion done with https://onlineutf8tools.com/convert-utf8-to-utf16?hex=true&little-endian=true&space=false&chain=split-string%253Fsplit-by-length%253Dtrue%2526separator%253D%252C

;User action
[HKEY_CLASSES_ROOT\Directory\Background\shell\WindowsTerminal]
@="Open Terminal here"
;"Icon"="%USERPROFILE%\Pictures\Icons\terminal.ico" (Location to ICO or comment out to hide icon)
"Icon"=hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,00,45,00,25,00,5c,00,50,00,69,00,63,00,74,00,75,00,72,00,65,00,73,00,5c,00,49,00,63,00,6f,00,6e,00,73,00,5c,00,74,00,65,00,72,00,6d,00,69,00,6e,00,61,00,6c,00,2e,00,69,00,63,00,6f,00

;User action command
[HKEY_CLASSES_ROOT\Directory\Background\shell\WindowsTerminal\command]
;@="%LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe -d ."
@=hex(2):25,00,4c,00,4f,00,43,00,41,00,4c,00,41,00,50,00,50,00,44,00,41,00,54,00,41,00,25,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,41,00,70,00,70,00,73,00,5c,00,77,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,64,00,20,00,2e,00

;Admin action
[HKEY_CLASSES_ROOT\Directory\Background\shell\WindowsTerminalAdmin]
@="Open Terminal here (Admin)"
;Show the UAC shield on the action
"HasLUAShield"=""
;"Icon"="%USERPROFILE%\Pictures\Icons\terminal.ico" (Location to ICO or comment out to hide icon)
"Icon"=hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,00,45,00,25,00,5c,00,50,00,69,00,63,00,74,00,75,00,72,00,65,00,73,00,5c,00,49,00,63,00,6f,00,6e,00,73,00,5c,00,74,00,65,00,72,00,6d,00,69,00,6e,00,61,00,6c,00,2e,00,69,00,63,00,6f,00

;Admin action command
[HKEY_CLASSES_ROOT\Directory\Background\shell\WindowsTerminalAdmin\command]
@="PowerShell -WindowStyle Hidden -Command \"Start-Process wt -ArgumentList '-d','.' -Verb runAs\""
  1. https://superuser.com/a/599025

Hola, gracias por esto, no terminé usando esto porque aparece una ventana de Windows PowerShell cuando se inicia de manera elevada, sin embargo, me hizo profundizar en esto y creé mi propio repositorio con un script de instalación fácil para cualquier otra persona que desee entradas del menú contextual para Windows Terminal.

Para los futuros lectores de este largo hilo,

  • Microsoft decidió incluir sus propios elementos del menú contextual del Explorador de Windows. Por eso se cerró este problema. Sin embargo, debido a su ciclo de lanzamiento, esto no llegará a su máquina (a través de Microsoft Store para Windows 10) en unas pocas semanas (o meses). Hasta ahora, desarrollaron una extensión de shell simple con algunas funciones básicas.
  • Si realmente necesita menús contextuales en este momento, debe agregar dichos elementos de menú por su cuenta utilizando uno de los métodos de este largo hilo. Para resumir,

    • Importar claves de registro.
    • Utilice algunos archivos por lotes. (como este )
    • Utilice algunos scripts de PowerShell. (como este )

Elija lo que elija, informe los problemas a los propietarios de esos repositorios para que puedan solucionarlos.

  • Sin embargo, debido a su ciclo de lanzamiento, esto no llegará a su máquina (a través de Microsoft Store para Windows 10) en unas pocas semanas (o meses).

Oh, definitivamente será antes de meses 😉

: tada: este problema se solucionó en # 6100, que ahora se ha publicado con éxito como Windows Terminal Preview v1.1.1671.0 .: tada:

Enlaces útiles:

¿No debería el enlace Store Download a Windows Terminal Preview (https://www.microsoft.com/store/apps/9n8g5rfz9xk3?cid=storebadge&ocid=badge)? 🤔

@DHowett oh no, necesitaremos actualizar el bot

Parece que seguiré usando mi secuencia de comandos por lotes por ahora, ya que la vainilla no incluye una opción elevada, estoy seguro de que con más tiempo la versión vainilla tendrá más opciones y funciones, muchas gracias al chico. que envió la solicitud de extracción!

Eh, absolutamente necesitaremos actualizar el bot. Jajaja

Perdón por el mensaje fuera de tema, pero si ha instalado tanto la versión de lanzamiento como la de vista previa, ¿cuál se invocaría al ejecutar wt?

Supongo que lo que haya configurado en los alias de ejecución de la aplicación en la configuración de Windows:
image

Sí.

Sería bueno si el icono de la terminal también se incluyera en el menú contextual

Sería bueno si el icono de la terminal también se incluyera en el menú contextual

Hey wadda ya sabes, ese es el # 6246.

Por favor, por el amor de todos los demás en este tema (los 111 de ustedes), verifique estos temas:
https://github.com/microsoft/terminal/issues?q=is%3Aopen+is%3Aissue+label%3AArea-ShellExtension

antes de comentar "hombre, sería genial si el menú contextual hiciera ..."

¿No debería el enlace Store Download a Windows Terminal Preview ( microsoft.com/store/apps/9n8g5rfz9xk3?cid=storebadge&ocid=badge )? 🤔

@DHowett oh no, necesitaremos actualizar el bot

Eh, absolutamente necesitaremos actualizar el bot. Jajaja

Entendido.

¿Fue útil esta página
0 / 5 - 0 calificaciones