Ce devrait être une tâche simple, mais j'ai vu plusieurs tentatives sur la façon d'obtenir le chemin d'accès au répertoire où l'applet de commande exécutée est situé, avec un succès mitigé. Par exemple, lorsque j'execute c:\temp\myscripts\mycmdlet.ps1 qui a un fichier de paramètres au c:\temp\myscripts\settings.xml je voudrais être en mesure de stocker c:\temp\myscripts dans une variable à l'intérieur de mycmdlet.ps1.
C'est une solution qui fonctionne (même si un peu lourd):
$invocation = (Get-Variable MyInvocation).Value
$directorypath = Split-Path $invocation.MyCommand.Path
$settingspath = $directorypath + '\settings.xml'
Un autre a suggéré cette solution qui fonctionne uniquement sur notre environnement de test:
$settingspath = '.\settings.xml'
J'aime la dernière approche beaucoup et préfèrent à avoir à analyser le chemin d'accès comme un paramètre à chaque fois, mais je ne peux pas le faire fonctionner sur mon environnement de développement. Quelqu'un aurait-il une idée de quoi faire? A-t-elle quelque chose à voir avec la façon dont PowerShell est configuré?