In PowerShell esiste la variabile $PWD che ritorna il percorso corrente.
Nel caso di uno script il percorso di esecuzione non è detto che coincida con il percorso corrente.
Per recuperare il percorso di esecuzione di uno script usa:

PowerShell

split-path -parent $MyInvocation.MyCommand.Definition
se vuoi sempre avere un percorso corretto sia in interattivo che via script, ad esempio per salvare i log, puoi usare questo:

PowerShell

$scriptPath = split-path -parent $MyInvocation.MyCommand.Definition
if($scriptPath -eq "" ){ $scriptPath=$pwd }
la variabile $scriptPath conterrà sempre un percorso valido.

Quindi, ad esempio, posso costruire un nome di file basato sulla data corrente nel percorso di esecuzione dello script:

PowerShell

$logName = "$scriptPath\MyLog_$(get-date -Format 'yyyy-MM-dd').log"
Write-output "prova " >> $logName
Tags:
Esempi225 PowerShell200 Script85
Potrebbe interessarti anche: