Bloc d'instruction d'une fonction sur plusieurs scripts ?
Bonjour
Est il possible de "spliter" un function dont le bloc d'instruction "déborde" sur plusieurs fichiers ?
Je m'explique, j'ai un fichier de fonction nommé mes_fonctions.ps1
#déclaration de ma fonction "mafonction"
Le corps de mon script est nommé corps.ps1
Pour importer la fonction, je déclare son nom de fichier en début de code :
Code:
1 2 3 4
|
#déclaration du chemin d'accès au fichier
$workPath = split-path $MyInvocation.MyCommand.Definition
. $workPath\mesfonctions.ps1 |
Ensuite je déclare ma fonction qui englobe 90% de mon script, mais, j'ai besoin d'extraire une installation particulière qui ne doit pas faire partie du corps principal.
mafonction est inclus dans une structure conditionnelle "if"
Code:
1 2 3 4 5 6 7 8 9 10 11
|
#La "structure" du fichier corps.ps1
$workPath = split-path $MyInvocation.MyCommand.Definition
. $workPath\mesfonctions.ps1
if (mafonction)
{
bloc
} # Si je déplace '}' sur le script installation.ps1, j'ai une erreur
. $workPath\installation.ps1 |
Cependant, le bloc en question, est sur 2 fichiers *.ps1 différents.
J'ai testé plusieurs choses. Mon script ce déroule bien sans la fonction, je sais exécuter un script réparti sur plusieurs fichier.
J'essais de "porter" le corps de la fonction sur les 2 scripts, mais erreur de fermeture de bloc ( j'avais déplacé le "}" sur le second script)...
Si vous avez pu le faire par le passé, je suis curieux de comprendre comment vous avez fait. Ensuite, si ce n'est pas envisageable, dois-je reconsidérer ma condition if pour le script ?
Vincent