run - powershell vs cmd diferencias
¿Color para el PROMPT(solo el PROMPT apropiado) en cmd.exe y PowerShell? (4)
Puede agregar una función de solicitud a su perfil en Powershell para hacer prácticamente lo que quiera con la solicitud. Así, por ejemplo, algo como esto:
function prompt
{
Write-Host "PS $(get-location)>" -nonewline -foregroundcolor Magenta
return '' ''
}
Para abrir o crear su perfil de PowerShell, ejecute esto:
if(Test-Path $profile){notepad $profile}else{New-Item -path $profile -type file -force}
Así que en Bash simplemente configuras PS1
para agregar colores a tu aviso. Estoy hablando del mensaje apropiado, no del color del primer plano (texto) o del fondo. Y es realmente fácil en Bash y ayuda mucho si necesita encontrar sus comandos en un mar de salida de texto desordenado.
¿Puede lograr lo mismo para cmd.exe
, o como alternativa, para PowerShell? Un aviso de color?
No sé si podría hacerse en los viejos tiempos antes de Win32 cargando ANSI.SYS
. Creo que fue solo para hacer que el primer plano y el fondo sean coloridos. Pero podría estar equivocado. Y de todos modos, esos días se han ido, y en nuestros tiempos modernos (lo sé), estamos usando cmd.exe
o PowerShell.
Sé que tanto cmd.exe como PowerShell son capaces de salida de color. Para cmd.exe, simplemente ejecuta color /?
descubrir. Pero mi pregunta no es sobre el primer plano y el fondo, todo lo que conoce la humanidad, ¿se trata simplemente de cambiar el color del indicador para cmd.exe, probablemente a través de la variable de entorno PROMPT
como a través de la variable PS1
para Bash? ¿Es posible?
Y no, Cygwin no es una alternativa para esto. Soy un usuario de Cygwin con MinTTY y todo, y me encanta. Pero todavía quiero que mi indicador de cmd.exe
esté coloreado, también.
Puede usar varios colores (muy útil para identificar los componentes de su solicitud, típicos en Unix):
function prompt {
Write-Host ("@") -NoNewLine -ForegroundColor Magenta
Write-Host ("$env:COMPUTERNAME") -NoNewLine -ForegroundColor Green
Write-Host (":") -NoNewLine -ForegroundColor Magenta
Write-Host ($(Get-Location)) -NoNewLine -ForegroundColor Green
Write-Host (">") -NoNewLine -ForegroundColor Red
return " "
}
( COMPUTERNAME
se escribió explícitamente aquí, pero en realidad se reemplaza por el valor de la variable de entorno).
Y puedes agregar colores al azar (tomados de here ; this tiene una versión similar; ambos tienen otros ajustes muy interesantes):
function prompt
{
$random = new-object random
$color=[System.ConsoleColor]$random.next(1,16)
Write-Host ("PS " + $(get-location) +">") -nonewline -foregroundcolor $color
return " "
}
Toda esta información es buena, pero una cosa importante que no vi que se aborda es cómo hacer que aparezca el indicador personalizado cada vez que se ejecuta un indicador de comando. En Windows anterior, como XP y antes, pondría la variable de entorno PROMPT en el archivo AUTOEXEC.BAT
pero en Windows 7 a través de Windows 10, lo haría permanente de la siguiente manera:
- Abra el indicador de
Run
con lakey + R
Windowskey + R
- Escriba "systempropertiesadvanced" (sin las comillas) y presione
ENTER
- Esto abrirá el cuadro de diálogo Propiedades del sistema (También puede hacer clic con el botón derecho en Mi PC y elegir Propiedades para obtener esto)
- Seleccione la pestaña "Avanzado" en la parte superior
- Elija "Variables de entorno" cerca de la parte inferior
- En el área inferior, en el área de "Variables del sistema", mire y vea si actualmente tiene una variable llamada "Preguntar" (el uso de mayúsculas no importa)
- Si es así, edite la variable de solicitud y sus cambios con ser permanente
- De lo contrario, haga clic en "Nuevo" cerca de la parte inferior y para Nombre de variable, ingrese PROMPT y para el valor de la variable, cualquiera que sea su nombre. El indicador predeterminado tiene un valor variable de $ P $ G
- Haga clic en Aceptar
- Ejecute el símbolo del sistema para probar
- HECHO
- Nota: uso un símbolo del sistema personalizado que se parece a la bandera de Texas. El valor de la variable para esto es:
$e[1;44m*$e[41m▀▀$e[0;1m $P$G
(La barra blanca se crea manteniendo presionada la tecla ALT y escribiendo 223 en el teclado de la derecha. Hay dos de estos caracteres en este mensaje).
siga este enlace. Hay un hack ANSI desarrollado para el shell CMD.exe
Lo he probado en mi win 7 profesional SP1 y funciona como un encanto