Question Utilisation de PowerGUI Script Editor

Plus d'informations
il y a 12 ans 10 mois #9777 par FREMION
Bonjour a tous

j'ai écris le script suivant (U:\_Scripting\_SourceName.ps1) qui s'exécute sans problème :
[code:1]function FN_ScriptInfo {
$FN_ScriptInfo = $null
$Invocation = (Get-Variable MyInvocation -Scope 1).value
if ($Invocation.MyCommand.Path) {
$FN_ScriptInfo = @()
$FN_ScriptInfo += (Split-Path $Invocation.MyCommand.Path -Qualifier) + (Split-Path $Invocation.MyCommand.Path -NoQualifier)
$FN_ScriptInfo += ($FN_ScriptInfo)[0] -replace ((Split-Path $Invocation.MyCommand.Path -leaf) , \"\"«»)
$FN_ScriptInfo += Split-Path $Invocation.MyCommand.Path -leaf
$FN_ScriptInfo += (Split-Path $Invocation.MyCommand.Path -NoQualifier) -replace ((Split-Path $Invocation.MyCommand.Path -leaf) , \"\"«»)
$FN_ScriptInfo += Split-Path $Invocation.MyCommand.Path -Qualifier
$FN_ScriptInfo += Split-Path $Invocation.MyCommand.Path -IsAbsolute
}
return $FN_ScriptInfo
}

$value = FN_ScriptInfo
if ($value -is [Array]){
$ScriptPath = $value[0]
$ScriptDir = $value[1]
$ScriptName = $value[2]
} else {
$ScriptPath = \"U:\_Scripting\Affaires\courante\Myscript.ps1\"
$ScriptDir = \"U:\_Scripting\Affaires\courante\\"
$ScriptName = \"Myscript.ps1\"
}
$ScriptIni = $ScriptName+\".ini\"

$ScriptPath
$ScriptDir
$ScriptName
$ScriptIni[/code:1]

J'utilise PowerGUI Script Editor et c'est en fonction du mode de lancement du script que le résultat est aléatoire.

Si, dans la console je tape :
PS U:\_Scripting > .\_sourcename.ps1

j'obtiens :
U:\_Scripting\_SourceName.ps1
U:\_Scripting\
_SourceName.ps1
_SourceName.ps1.ini

Si, je le lance au moyen de la flêche verte (DEBUG) ou du menu Debug/demarrer le débugging (F5),
j'obtiens :
PS U:\_Scripting >

U:\_Scripting\Affaires\courante\Myscript.ps1
U:\_Scripting\Affaires\courante\
Myscript.ps1
Myscript.ps1.ini

Ma question est la suivante :

Y a t il un moyen de récupérer le path du fichier en cours de debug s'il n'est pas lancé depuis la console, mais à l'aide du menu Debug.

Merci de vos réponses

Message édité par: PIF, à: 10/06/11 14:21

Message édité par: PIF, à: 10/06/11 14:22<br><br>Message édité par: PIF, à: 10/06/11 14:24

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

Plus d'informations
il y a 12 ans 10 mois #9779 par Llas
Salut pour obtenir le path du fichier en cour tu peux utiliser la variable $MyInvocation.MyCommand.Path qui te donne une chaine de caractère contenant le chemin exact de ton script en debug.
:evil: Attention :evil: Si il y a des espaces dans le chemin et que tu veux l'utiliser tel quel, n'oublie pas de mettre entre guillemet la variable :

\&quot;$MyInvocation.MyCommand.Path\&quot;

;)

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

Plus d'informations
il y a 12 ans 10 mois #9780 par FREMION
Merci de ta réponse

C'est effectivement [code:1]$MyInvocation.MyCommand.Path[/code:1] la commande que j'utilise

Mais dans le contexte du mode debug de PowerGUI
l'interpreteur de script ne connait pas le path du script actif

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

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