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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 mafunction { ... }
Pour importer la fonction, je déclare son nom de fichier en début de code :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #déclaration du chemin d'accès au fichier $workPath = split-path $MyInvocation.MyCommand.Definition . $workPath\mesfonctions.ps1
mafonction est inclus dans une structure conditionnelle "if"
Cependant, le bloc en question, est sur 2 fichiers *.ps1 différents.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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
Partager