windows - mismo - powershell vs cmd diferencias
¿Cómo escribo un carácter TAB en PowerShell? (4)
En el símbolo del sistema de Windows puede deshabilitar la finalización de pestañas, iniciándola así:
cmd.exe /f:off
Luego, el carácter de la pestaña se reflejará en la pantalla y funcionará como usted espera. O puede deshabilitar el carácter de finalización de la pestaña, o modificar qué carácter se utiliza para completar la pestaña modificando el registro.
La página de ayuda cmd.exe
explica:
Puede habilitar o deshabilitar la finalización del nombre de archivo para una invocación particular de CMD.EXE con el interruptor / F: ON o / F: OFF. Puede habilitar o inhabilitar la finalización de todas las invocaciones de CMD.EXE en una máquina y / o sesión de inicio de sesión del usuario configurando uno o ambos de los siguientes valores REG_DWORD en el registro usando REGEDIT.EXE:
HKEY_LOCAL_MACHINE/Software/Microsoft/Command Processor/CompletionChar HKEY_LOCAL_MACHINE/Software/Microsoft/Command Processor/PathCompletionChar and/or HKEY_CURRENT_USER/Software/Microsoft/Command Processor/CompletionChar HKEY_CURRENT_USER/Software/Microsoft/Command Processor/PathCompletionChar
con el valor hexadecimal de un carácter de control para usar para una función particular (por ejemplo, 0x4 es Ctrl-D y 0x6 es Ctrl-F). La configuración específica del usuario tiene prioridad sobre la configuración de la máquina. Los interruptores de la línea de comandos tienen prioridad sobre la configuración del registro.
Si la terminación se habilita con el interruptor / F: ON, los dos caracteres de control utilizados son Ctrl-D para completar el nombre del directorio y Ctrl-F para completar el nombre del archivo. Para deshabilitar un carácter de finalización particular en el registro, use el valor para el espacio (0x20) ya que no es un carácter de control válido.
Tarea : de forma predeterminada, al presionar la tecla TAB mientras se encuentra en la línea de comandos de Windows se mostrarán los nombres de los archivos, mientras que no hace nada en PowerShell. Quiero poder escribir el carácter TAB en modo interactivo, no a través de scripts.
Investigación : Encontré preguntas similares en este sitio y en la búsqueda de Google. Las soluciones encontradas se dirigían a bash (Mac) o iterm (Linux), o sugerían cambiar a otro programa como TweakUI . Mi pregunta es específica de Windows PowerShell o Símbolo del sistema.
Aclaración : una prueba simple para determinar si su respuesta funciona con mi pregunta es escribir echo "1 TAB-method 2"
en PS / CP, donde TAB-method es su sugerencia sobre cómo insertar un carácter TAB. Si el eco da 1 2
(es decir, 1 seguido de un espacio TAB seguido de 2), eso es lo que estoy buscando. Espero que esto ayude, y gracias a todos por tomarse el tiempo de mirar la pregunta.
Prueba con [char] 9, tal como:
$Tab = [char]9
Write-Output "$Tab hello"
Salida:
hello
Si le ayuda, puede incrustar un carácter de tabulación en una cadena entre comillas dobles:
PS> "`t hello"
TAB tiene un significado específico en PowerShell. Es para completar el comando. Así que si ingresas "getch" y luego escribes una TAB. Cambia lo que escribiste en "GetChildItem" (corrige el caso, aunque eso no es necesario).
De su pregunta, parece que la finalización de la TAB y la finalización del comando sobrecargarían la tecla TAB. Estoy bastante seguro de que los diseñadores de PowerShell no querían eso.