Question Création / modification fichiers ini

Plus d'informations
il y a 14 ans 8 mois #1490 par bordin
Bonjour à tous,
je suis confronté à un pti souci et je ne vois pas la sortie.
1. je créé un fichier.ini de la sorte:
[code:1]param($path)
$section1=\"[OpRapport]\"
$section2=\"[OpTaches]\"
$section3=\"[OpScrutation]\"
$fichierconfig = new-item $path –type file
add-content $fichierconfig $section1
add-content $fichierconfig $section2
add-content $fichierconfig $section3[/code:1]
Par la suite je voudrais écrire dans ce fichier des chaines du style parametre=valeur pour les différentes sections.
Je suppose qu'il faille lire chaque ligne pour trouver la section, mais comment se positionner et écrire à partir d'une ligne?

Quelqu'un aurait-il une idée?
Merci

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

Plus d'informations
il y a 14 ans 8 mois #1495 par bordin
Bonjour,
apparement pas une chose facile la gestion des ficniers ini par PS!
Mais j'ai trouvé ces quelques liens.
blog.keystroke.ch/ . il s'agit d'une dll pour le framework dotnet 2.0
J'ai aussi trouvé quelque chose fait en vbs qui pourrait être converti en PS je suppose:
www.robvanderwoude.com/vbstech_files_ini.html

Y du boulot là!
A+

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

Plus d'informations
il y a 14 ans 8 mois #1504 par Arnaud Petitjean
Bonsoir Camille,

Effectivement il y a l'air d'avoir du travail... A vrai dire je ne m'étais pas encore confronté à cette problématique.

Le plus facile serait d'utiliser des fichiers XML si tu le peux.

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 ou d'un conseil ?

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

Plus d'informations
il y a 14 ans 8 mois #1510 par Lemaire Patrice
Un fichier texte n'est pas vraiment \"Editable\" dans un certain sens. Ce que je veux dire par là c'est que l'on ne peut pas \"Insérer\" un contenu en plein milieu.
De plus ils en sont pas non plus Indéxables. Et donc la gestion des Sections deviens complexe.
Le seul moyen pour s'en sortir c'est de \"Charger\" le fichier en mémoire (Get-Content?), Tu obtiens une collection de lignes.
Tu la balaye pour te positionner, et tu insère toujours en mémoire.
Pour finir tu remplace l'intégralité de ton fichier par ce que tu as en mémoire.

Une piste pourrait etre de créer un tableau de Tableau (Hash), dont la premiere clef serait le nom du bloc, et la valeur, un autre tableau (Hash contenant lui la liste des clef/valeur). De Charger le tout en lecture au debut, de modifier les tableaux, et de réécrire le tout dans le fichier à la fin.

Je vais essayer de coder ca à minima pour donner un exemple.

[EDIT]
Voilà ce que sa pourrait donner (par exemple).
Je cole pas tout le code , ouvrez le

La pièce jointe Ini_Load_Save.ps1 est absente ou indisponible

Fichier joint
[/EDIT]<br><br>Message édité par: Spirit, à: 18/01/08 15:10
Pièces jointes :

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

Plus d'informations
il y a 14 ans 8 mois #1533 par Lemaire Patrice
Bon finalement je suis tombé sur Ce Script de Janel

100 fois mieux pour la leture du fichier.

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

Plus d'informations
il y a 14 ans 8 mois #1534 par Arnaud Petitjean
Effectivement j'y avais bien pensé mais ton besoin était un petit peu différent. En effet, si j'ai bien compris tu voulais pouvoir générer un fichier ini et le modifier facilement. Or le script de Janel est plutôt orienté lecture.

Ceci dit c'est déjà pas si mal.

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 ou d'un conseil ?

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

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