Question
Utilisation de PowerGUI Script Editor
- FREMION
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 12 ans 10 mois #9777
par FREMION
Utilisation de PowerGUI Script Editor a été créé 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
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.
- Llas
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 12 ans 10 mois #9779
par Llas
Réponse de Llas sur le sujet Re:Utilisation de PowerGUI Script Editor
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.
Attention 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 :
\"$MyInvocation.MyCommand.Path\"
Attention 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 :
\"$MyInvocation.MyCommand.Path\"
Connexion ou Créer un compte pour participer à la conversation.
- FREMION
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 12 ans 10 mois #9780
par FREMION
Réponse de FREMION sur le sujet Re:Utilisation de PowerGUI Script Editor
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
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
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Utilisation de PowerGUI Script Editor