Vorrei che la directory di lavoro corrente fosse visualizzata sulla riga di comando di PowerShell, come si farebbe in un prompt (ad esempio) di CMD. Come posso farlo?
Vorrei che la directory di lavoro corrente fosse visualizzata sulla riga di comando di PowerShell, come si farebbe in un prompt (ad esempio) di CMD. Come posso farlo?
Risposte:
Dai un'occhiata a: http://mshforfun.blogspot.com/2006/05/perfect-prompt-for-windows-powershell.html
Fondamentalmente, puoi creare un file 'profilo' chiamato Microsoft.PowerShell_profile.ps1 che verrà eseguito ogni volta che avvii powershell.
A seconda di chi vuoi che funzioni, ci sono diverse cartelle in cui puoi inserire questo file (spiegato nel link sopra). Se è solo per te stesso, puoi creare una cartella chiamata WindowsPowerShell nella cartella Documenti e inserirla lì.
Se inserisci questa funzione in quel file:
function prompt
{
"PS " + $(get-location) + "> "
}
Farà apparire il tuo prompt così:
PS C:\directory\path\here>
Ci sono molte altre cose che puoi inserire, ma queste sono le basi.
NOTA: prima di poter utilizzare lo script del profilo, è necessario eseguire "remote-setpolicy remicyigned" dalla PowerShell - ciò consentirà di eseguire script non firmati scritti localmente sul computer e script firmati da altri.
$profile.CurrentUserCurrentHost
e $profile.CurrentUserCurrentHost
per vedere quali script del profilo (utente) sono validi. Host diversi (ad es. VS vs. ISE) hanno un valore diverso per$profile.CurrentUserCurrentHost
Prova quanto segue:
$CurrentDir = $(get-location).Path;
Oggi funziona bene:
echo "$PWD"
che funziona diversamente da
echo $PWD
Basta non dimenticare le virgolette :) Esempio di output di seguito.
PS C:\Users\user name> echo $PWD
Path
----
C:\Users\user name
PS C:\Users\user name> echo "$PWD"
C:\Users\user name
PS C:\Users\user name>