Come posso ottenere il percorso del file system di uno script PowerShell?

Ho uno script PowerShell situato in D:\temp .

Quando eseguo questo script, voglio che la posizione corrente del file sia elencata. Come faccio a fare questo?

Ad esempio, questo codice lo compirebbe in un file batch DOS; Sto cercando di convertire questo in uno script PowerShell …

 FOR /f "usebackq tokens=*" %%a IN ('%0') DO SET this_cmds_dir=%%~dpa CD /d "%this_cmds_dir%" 

PowerShell 3+

Il percorso di uno script in esecuzione è:

 $PSCommandPath 

La sua directory è:

 $PSScriptRoot 

PowerShell 2

Il percorso di uno script in esecuzione è:

 $MyInvocation.MyCommand.Path 

La sua directory è:

 $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent 

Roman Kuzmin ha risposto alla domanda imho. Aggiungerò solo che se si importa un modulo (tramite Import-Module ), è ansible accedere $PsScriptRoot variabile automatica $PsScriptRoot all’interno del modulo, che indicherà dove si trova il modulo.