Question
Copier une info d'un fich vers un autre
- laucaz
-
Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 48
- Remerciements reçus 0
il y a 13 ans 3 mois #13782
par laucaz
Réponse de laucaz sur le sujet Re:Copier une info d'un fich vers un autre
alors...
j'ai une fonction qui explore mes fichiers .ini et qui me les charge en memoire dans un tableau pour que je puisse ensuite récupérer l'info qui m'interesse. Ci-dessous la fonction :
[code:1]Function NumVersion()
{
param ($path = \"d:\version.ini\"«»)
$result = @{}
switch -regex -file $path
{
\"^\[(.+)\]$\"
{
$section = $matches[1]
$result[$section] = @{}
}
\"(.+)=(.*)\"
{
$name, $value = $matches[1..2]
$result[$section][$name] = $value
}
}
$result
}[/code:1]
J'utilise la fonction de la maniere suivante :
1/ je cre le tableau de mon fichier version.ini local
[code:1] $FicVerLocal = NumVersion
[/code:1]
2/je recupere le numero qui m'interesse et je l'affiche pour vérifier :
[code:1]$VerLocal = $FicVerLocal.production.version
$VerLocal[/code:1]
3/je cre le tableau de mon fichier version.ini de reference :
[code:1]$FicVerRef = NumVersion \\serveurderefernce\version.ini[/code:1]
2/je recupere le numero qui m'interesse et je l'affiche pour vérifier :
[code:1]$VerRef = $FicVerRef.production.version
$VerRef[/code:1]
A ce niveau j'ai mes 2 numeros de version. Donc là je lance une autre fonction pour modifier mon \"version.ini\" local :
[code:1]NumVersionRemplace $VerLocal,$VerRef[/code:1]
et voila la fonction. La ligne commenté est celle que j'avais avant ta proposition. A chaque fois que j'affiche la variable c'est pour verifier.
[code:1]Function NumVersionRemplace([string]$VerLocal,[string]$VerRef)
{
$VerLocal
$VerRef
# $content = get-content \"d:version.ini\" | foreach {$_-replace $VerLocal,$VerRef}
$content = get-content \"d:\version.ini\",$VerLocal \"$VerLocal-$VerRef\" | % {$_-replace $VerLocal,$VerRef}
$content
Set-Content -path \"d:\sourcesref\version.ini\" -value $content
}[/code:1]
Voila voila...
Cela dit je suis en formation la semaine prochaine donc je ne pourrais travailler sur le probleme que dans 2 semaines...
Merci d'avance pour vos infos.
@+
Laurent<br><br>Message édité par: titou4, à: 25/01/13 18:19
j'ai une fonction qui explore mes fichiers .ini et qui me les charge en memoire dans un tableau pour que je puisse ensuite récupérer l'info qui m'interesse. Ci-dessous la fonction :
[code:1]Function NumVersion()
{
param ($path = \"d:\version.ini\"«»)
$result = @{}
switch -regex -file $path
{
\"^\[(.+)\]$\"
{
$section = $matches[1]
$result[$section] = @{}
}
\"(.+)=(.*)\"
{
$name, $value = $matches[1..2]
$result[$section][$name] = $value
}
}
$result
}[/code:1]
J'utilise la fonction de la maniere suivante :
1/ je cre le tableau de mon fichier version.ini local
[code:1] $FicVerLocal = NumVersion
[/code:1]
2/je recupere le numero qui m'interesse et je l'affiche pour vérifier :
[code:1]$VerLocal = $FicVerLocal.production.version
$VerLocal[/code:1]
3/je cre le tableau de mon fichier version.ini de reference :
[code:1]$FicVerRef = NumVersion \\serveurderefernce\version.ini[/code:1]
2/je recupere le numero qui m'interesse et je l'affiche pour vérifier :
[code:1]$VerRef = $FicVerRef.production.version
$VerRef[/code:1]
A ce niveau j'ai mes 2 numeros de version. Donc là je lance une autre fonction pour modifier mon \"version.ini\" local :
[code:1]NumVersionRemplace $VerLocal,$VerRef[/code:1]
et voila la fonction. La ligne commenté est celle que j'avais avant ta proposition. A chaque fois que j'affiche la variable c'est pour verifier.
[code:1]Function NumVersionRemplace([string]$VerLocal,[string]$VerRef)
{
$VerLocal
$VerRef
# $content = get-content \"d:version.ini\" | foreach {$_-replace $VerLocal,$VerRef}
$content = get-content \"d:\version.ini\",$VerLocal \"$VerLocal-$VerRef\" | % {$_-replace $VerLocal,$VerRef}
$content
Set-Content -path \"d:\sourcesref\version.ini\" -value $content
}[/code:1]
Voila voila...
Cela dit je suis en formation la semaine prochaine donc je ne pourrais travailler sur le probleme que dans 2 semaines...
Merci d'avance pour vos infos.
@+
Laurent<br><br>Message édité par: titou4, à: 25/01/13 18:19
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 13 ans 3 mois #13783
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Copier une info d'un fich vers un autre
Est-ce que le code d'exemple que je t'ai proposé fonctionne sur ton poste ?
A l'avenir utilise le balise Code et pas quote.
A l'avenir utilise le balise Code et pas quote.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- laucaz
-
Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 48
- Remerciements reçus 0
il y a 13 ans 3 mois #13785
par laucaz
Réponse de laucaz sur le sujet Re:Copier une info d'un fich vers un autre
Pardonne moi, je repond vite fait car maintenat commence ma seconde vie... celle de Papa
))
oui ton code exemple fonctionne.
Merci de tes retours
Bon WE
@+
Laurent
oui ton code exemple fonctionne.
Merci de tes retours
Bon WE
@+
Laurent
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 13 ans 3 mois #13786
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Copier une info d'un fich vers un autre
titou4 écrit:

Pour ta première vie:
[code:1]NumVersionRemplace $VerLocal,$VerRef[/code:1]
Ce code passe un tableau dans le premièr paramètre et null dans le second
C'est peut être pour cette raison que cela ne fonctionne pas.
Pardonne moi, je repond vite fait car maintenat commence ma seconde vie... celle de Papa
))
Pour ta première vie:
[code:1]NumVersionRemplace $VerLocal,$VerRef[/code:1]
Ce code passe un tableau dans le premièr paramètre et null dans le second
C'est peut être pour cette raison que cela ne fonctionne pas.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- laucaz
-
Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 48
- Remerciements reçus 0
il y a 13 ans 3 mois #13904
par laucaz
Réponse de laucaz sur le sujet Re:Copier une info d'un fich vers un autre
Salut Laurent, Salut Mathew,
Toutes mes excuses de ne pas avoir encore repondu.
Effectivement j'avais un soucis de passage des variables. J'ai un peu avancé mais le boulot ne me laisse pas trop le temps de travailler sur ce script.
Cela dit j'ai un peu avancé. Dans la commande ...
[code:1]$content = get-content \"d:\version.ini\",$VerLocal \"$VerLocal-$VerRef\" | % {$_-replace $VerLocal,$VerRef}
$content
Set-Content -path \"d:\sourcesref\version.ini\" -value $content[/code:1]
Le \"$_-replace\" repasse 3 fois, du coup il me recopie 3 fois la valeur avec un retour chariot à chaque fois...Voila où j'en suis... là je ne suis pas au boulot mais je te poste mon code dès que possible si tu veux.
Voila
@ Laurent
Toutes mes excuses de ne pas avoir encore repondu.
Effectivement j'avais un soucis de passage des variables. J'ai un peu avancé mais le boulot ne me laisse pas trop le temps de travailler sur ce script.
Cela dit j'ai un peu avancé. Dans la commande ...
[code:1]$content = get-content \"d:\version.ini\",$VerLocal \"$VerLocal-$VerRef\" | % {$_-replace $VerLocal,$VerRef}
$content
Set-Content -path \"d:\sourcesref\version.ini\" -value $content[/code:1]
Le \"$_-replace\" repasse 3 fois, du coup il me recopie 3 fois la valeur avec un retour chariot à chaque fois...Voila où j'en suis... là je ne suis pas au boulot mais je te poste mon code dès que possible si tu veux.
Voila
@ Laurent
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 13 ans 3 mois #13908
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Copier une info d'un fich vers un autre
C'est tjr la même fonction que celle citée précédement ?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.051 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Copier une info d'un fich vers un autre