Recuperare il percorso corrente di uno script (ps1) PowerShell
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:
se vuoi sempre avere un percorso corretto sia in interattivo che via script, ad esempio per salvare i log, puoi usare questo:
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:
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
PowerShell
$scriptPath = split-path -parent $MyInvocation.MyCommand.Definition
if($scriptPath -eq "" ){ $scriptPath=$pwd }
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