Respuestas:
Debe personalizar la función de solicitud en su perfil de PowerShell ( %userprofile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
); puede estar en blanco o incluso no existir si nunca lo ha modificado antes.
Abra su perfil (por ejemplo, abra el archivo mencionado anteriormente o mientras esté en PowerShell Notepad $profile
)
Agregue lo siguiente a su perfil:
function prompt {
$p = Split-Path -leaf -path (Get-Location)
"$p> "
}
Guardar el perfil
Reiniciar PowerShell
Opcional . Si recibe un mensaje que dice que no puede ejecutar scripts, debe copiar / pegar esta línea en PowerShell:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
y reiniciar.
Las políticas de ejecución de Windows PowerShell le permiten determinar las condiciones bajo las cuales Windows PowerShell carga los archivos de configuración y ejecuta los scripts.
Puede establecer una política de ejecución para la computadora local, para el usuario actual o para una sesión en particular. También puede usar una configuración de directiva de grupo para establecer la directiva de ejecución para computadoras y usuarios.
Fuente: Documentación de Microsoft
GetCurrentDirectory
. Recuerde que PowerShell no siempre significa el sistema de archivos. Usando el complemento de registro, podría usar cd hkcu:
y ahora el aviso estaría totalmente apagado.
$PWD
lugar de llamar Get-Location
. Por ejemplofunction prompt { (Split-Path -Leaf $pwd) + '> ' }
prompt
en su archivo de perfil. Solo tiene que estar en el alcance de la sesión global. El valor predeterminado parece equivalente a function prompt {"PS " + (Get-Location) + ">"}
, mientras que function prompt {""}
da lo mismo que function prompt {"PS>"}
. Use function prompt {" `b"}
para obtener un mensaje vacío (al menos visualmente ...).
Como nota adicional, no pude hacer el comando de @ Synetech hasta que creé por primera vez el $ profile.
Escriba $profile
y presione enter. Esto mostrará la ruta de perfil en la que se basa PowerShell, incluso si no existe (no era para mí). Mi camino era diferente de lo que @Synetech publicó anteriormente.
>$profile
C:\Users\[username]\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Tuve que crear tanto la carpeta WindowsPowerShell como el archivo Microsoft.PowerShell_profile.ps1.
Nota:
Si está usando posh-git (que se instala cuando se usa el escritorio de GitHub), el script de @ Synetech anulará la solicitud de posh-git. Scripts de solicitud adicionales para posh-git aquí .
%userprofile%
se expande aC:\Users\[username]
$Env:userprofile
es equivalente aecho %userprofile%
Cambie la solicitud para mostrar la carpeta actual sin ruta completa y mayor que el símbolo al final:
Una forma podría ser:
Function Prompt { "$( ( get-item $pwd ).Name )>" }
O:
Function Prompt { "$( Split-Path -leaf -path (Get-Location) )>" }
O:
Function Prompt { "$( ( Get-Location | Get-Item ).Name )>" }
\\myserver\my\path
.
Descubrí que esto era bastante fácil: combinaba la respuesta de @ Synetech y la información encontrada en los perfiles de PowerShell . Porque soy un novato en PS. Mis pasos (para vscode):
pegar en
function prompt {
$p = Split-Path -leaf -path (Get-Location)
"$p> "
}
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser (en su solicitud de PS, de la respuesta SuperUse)
recargar vscode
Así que, en su mayoría, la respuesta de @ Synetech (upvoted) con un poco para comenzar fácilmente, especialmente el paso 2 lo hace muy fácil.
La siguiente línea única funciona bien para mí
(Get-Location | Get-Item) .Nombre
[System.IO.Directory]::GetCurrentDirectory()
no representa la ubicación actual de powershell, sino el directorio de trabajo del proceso, que no siempre es el mismo. Reemplazar conGet-Location