Question [Résolu]Récupérer le chemin d'execution d'un scrip

Plus d'informations
il y a 14 ans 2 mois #6133 par Iturbide
Bonjour à tous.

Je suis un nouvel utilisateur de Powershell et je rencontre un probleme. Je cherche a récuperer le chemin d'exection de mon script mais je n'y arrive pas. J'ai chercher sur le net et j'ai trouvé cette fonction :

[code:1]
function Get-ScriptDirectory
{
$Invocation = (Get-Variable MyInvocation -Scope 1).Value
Split-Path $Invocation.MyCommand.Path
}
$ScriptPath = Get-ScriptDirectory
[/code:1]

Le probleme c'est que quand je l'appel, j'ai le message \"Cannot bind argument to parameter 'Path' because it is null.\"

J'ai ce message que je lance cette fonction depuis une console powershell ou depuis un script directement.

Quelqu'un pourrait m'expliquer le probleme ?

Merci d'avance.

DeWaRs

Edit : Je voulais placer ce sujet dans \" Entraide pour les débutants\" mais je me suis trompé, excusé moi pour cette maladresse.

Message édité par: DeWaRs, à: 10/02/10 10:48<br><br>Message édité par: Arnaud, à: 11/02/10 21:52

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 2 mois #6135 par Laurent Dardenne
Salut,
DeWaRs écrit:

Le probleme c'est que quand je l'appel, j'ai le message \&quot;Cannot bind argument to parameter 'Path' because it is null.\&quot;

Ce message provient de Split-Path :
[code:1]Split-Path $null[/code:1]
A priori dans ton contexte d'utilisation de cette méthode, $MyInvocation n'est pas renseigné.
DeWaRs écrit:

J'ai ce message que je lance cette fonction depuis une console powershell ou depuis un script directement.

Depuis la console c'est normal d'avoir une erreur puisque le contexte d'exécution n'est pas construit à partir d'un script.
Il nous faut le script ou au moins connaître comment tu utilises cette fonction dans ton script.

De mon coté, PowerShell V1 &amp; V2, le script suivant fonctionne correctement :
[code:1]
#Test.ps1
#
#.\Test.ps1
function Get-ScriptDirectory
{
$Invocation = (Get-Variable MyInvocation -Scope 1).Value
#WP dispos sur
#http://projets.developpez.com/projects/add-lib/repository/changes/Add-Lib/trunk/Scripts/PackageDebugTools.ps1
wp $Invocation
write-host (\&quot;-\&quot; * 40)
wp $Invocation.MyCommand
Split-Path $Invocation.MyCommand.Path
}

$ScriptPath = Get-ScriptDirectory
$ScriptPath
[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 2 mois #6140 par Iturbide
Merci beaucoup de ta réponse, cela fonctionne à présent.

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.068 secondes
Propulsé par Kunena