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.