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:
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:
$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:
$logName = "$scriptPath\MyLog_$(get-date -Format 'yyyy-MM-dd').log"
Write-output "prova " >> $logName