Question
Lire un fichier de commandes
- Daniel Brassard
- Auteur du sujet
- Hors Ligne
- Nouveau membre
- Messages : 11
- Remerciements reçus 0
Je recherche un conseil, pas comment le faire en PowerShell
Je veux créer un \"wrapper\" qui va lire un fichier en input pour lancer des installations. Mon fichier d'input aura des entrées genre:
Msi_file = le_fichier.msi
Transforms = le_transform.mst
Parametres = /qn /l*
Etc...
Mon dilemme est: quel format de fichier serait efficace pour ceci? Un fichier texte, INI ou XML?
Merci pour vos précieux conseils
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6302
- Remerciements reçus 68
Kardock33 écrit:
De prime abord je dirais XML, pas besoin de code additionnel.Mon dilemme est: quel format de fichier serait efficace pour ceci? Un fichier texte, INI ou XML?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
C'est vrai que le format XML pourrait bien s'y prêter mais cela implique de définir un formalise assez strict.
Je pense que personnellement je partirais sur un fichier INI.
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Daniel Brassard
- Auteur du sujet
- Hors Ligne
- Nouveau membre
- Messages : 11
- Remerciements reçus 0
Bon, maintenant faut j'apprenne comment manager un fichier INI
Merci!
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
- Messages : 1778
- Remerciements reçus 21
tout dépend si tu veux lire qu'un seul paramètre dans ton fichier ou tous d'un coup et si il y a plusieurs millier de paramètres !!
si il y en n'a peu tu peux tous lire d'un coup et l'exploité c'est plus simple
d'ou l'avantage du xmlBon, maintenant faut j'apprenne comment manager un fichier INI.
Je pense que Laurent voulais utilisé \"export-clixml/import-clixml\" qui ce gère comme un CSV
ou alors un INI au format csv, simple a utilisé avec export-csv/import-csv<br><br>Message édité par: 6ratgus, à: 27/04/16 12:01
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6302
- Remerciements reçus 68
Pas vraiment, du moment où il est bien formé (respect de la syntaxe des balises).C'est vrai que le format XML pourrait bien s'y prêter mais cela implique de définir un formalise assez strict.
Ensuite on place ce qu'on veux dans un XML ou dans tous type de fichiers structurés. Il y aura donc qq part un contrôle de la structure.
Et pour les données, le côté strict donc, il faut en XML coupler le .xml avec un fichier .xsd :
Ainsi on peut contrôler si le fichier .xml est valide (la validité des données).<xs:annotation>
<xs:documentation>Description d'une machine.</xs:documentation>
</xs:annotation>
<!-- ATTENTION
Assurez-vous que les valeurs des types restreints basés sur des énumérations de string,
ne contiennent pas d'espaces ou de tabulations en début ou fin de chaîne.
-->
<xs: simpleType name=\"TMachines\">
<xs:restriction base=\"xs: string\">
<xs:enumeration value=\"SERVEUR\"/>
<xs:enumeration value=\"STATIONS\"/>
<xs:enumeration value=\"AUTRES\"/>
</xs:restriction>
</xs: simpleType>
<xs: simpleType name=\"TOS\">
<xs:restriction base=\"xs: string\">
<xs:enumeration value=\"XP\"/>
<xs:enumeration value=\"W2K3\"/>
<xs:enumeration value=\"W2K8\"/>
<xs:enumeration value=\"Win7\"/>
</xs:restriction>
</xs: simpleType>
</xs: simpleType>
<xs: simpleType name=\"TServicePack\">
<!-- Format du numéro de service pack -->
<xs:restriction base=\"xs: string\">
<!--
le format d'un attribut de type Servicepack est
un nombre, de zéro à neuf.
-->
<xs: pattern value=\"^[0-9]$\"/>
</xs:restriction>
</xs: simpleType>
...
C'est ce dernier aspect qui nécessite un peu + de code, + de réflexion et + de tests.
6ratgus écrit:
Oui tout à fait, ce n'est pas anodin dans le choix d'une structure.tout dépend si tu veux lire qu'un seul paramètre dans ton fichier ou tous d'un coup et si il y a plusieurs millier de paramètres !!
6ratgus écrit:
Non je pensais aux APIs XML du framework et aux capacités natives de PS (cf. [XML] )Je pense que Laurent voulais utilisé \"export-clixml/import-clixml\" qui ce gère comme un CSV
Un autre point important à propos du choix est : qui crée ce fichier et qui le manipule (hormis par le script en lecture) ?
Si dans ton workflow c'est un utilisateur, le XML est indigeste et à éviter. A moins de créer un GUI dédié : + de code, + de réflexion et + de tests ...<br><br>Message édité par: Laurent Dardenne, à: 27/04/16 13:19
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Discussions générales
- Lire un fichier de commandes