Question Copier une info d'un fich vers un autre

Plus d'informations
il y a 13 ans 3 mois #13782 par laucaz
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

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

Plus d'informations
il y a 13 ans 3 mois #13783 par xyz
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.

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 3 mois #13785 par laucaz
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

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

Plus d'informations
il y a 13 ans 3 mois #13786 par xyz
titou4 écrit:

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 :P
C'est peut être pour cette raison que cela ne fonctionne pas.

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 3 mois #13904 par laucaz
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 \&quot;d:\version.ini\&quot;,$VerLocal \&quot;$VerLocal-$VerRef\&quot; | % {$_-replace $VerLocal,$VerRef}
$content
Set-Content -path \&quot;d:\sourcesref\version.ini\&quot; -value $content[/code:1]

Le \&quot;$_-replace\&quot; 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.

Plus d'informations
il y a 13 ans 3 mois #13908 par xyz
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
Propulsé par Kunena