Question modifier fichier à partir d'un autre

Plus d'informations
il y a 9 ans 7 mois #18155 par Laurent
Bonjour, je souhaite mettre à jour mes comptes copieur avec le nouvel identifiant.

J'ai un fichier CSV avec 2 colonnes : usernameold,newusername qui correspond a l'ancien identifiant et le nouveau.

J'ai extrait le carnet d'adresse du copieur et souhaite le mettre à jour en à partir de mon fichier csv.

voici ce que j'ai fait :

$import = Import-csv C:\fusion\base.csv
[int]$valeur = 0
[string]$outfinal = \"C:\fusion\modif.bin\"
[string]$utilisateurs = \"C:\fusion\10.76.200.35.bin\"
[string[]]$test = get-content $utilisateurs

Function replace{
Foreach ($line in $import)
{
ForEach-Object {$test = $test-Replace($import[$valeur].usernameold, $import[$valeur].newusername)}
$test > $outfinal
$valeur++}
}
replace

Le soucis avec cette formule, est que ça me recréé un autre fichier que le copieur ne reconnait pas.
J’aimerai que le script le modifie directement dans mon fichier extrait.

merci de votre aide

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

Plus d'informations
il y a 9 ans 7 mois #18156 par Laurent Dardenne
Salut,
squale76 écrit:

Le soucis avec cette formule, est que ça me recréé un autre fichier que le copieur ne reconnait pas.

Vérifie si ton fichier d'origine est un fichier texte ou binaire. La redirection crée un fichier texte.

Tutoriels PowerShell

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

Plus d'informations
il y a 9 ans 7 mois #18157 par Laurent
voici un extrait du fichier :

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<target
xml:space=\"preserve\"
product-version=\"0405J200\"
product-family=\"64\"
schema-version=\"02.01\">
<properties>
<attribute-values>
<system-setting>
<profile>
<destinations>
<destination
lang=\"fr-FR\">
<id><data><value>1</value></data></id>
<search-id><data><value>1</value></data></search-id>
<name><data><value>BARBE E</value></data></name>
<search-string><data><value>BARBE E</value></data></search-string>
<custom-index-id><data><value>1</value></data></custom-index-id>
<frequently-used><data><value>false</value></data></frequently-used>


comment peut on savoir si il est binaire ?

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

Plus d'informations
il y a 9 ans 7 mois #18158 par Laurent Dardenne
squale76 écrit:

comment peut on savoir si il est binaire ?

Ici il s'agit d'un fichier texte structuré en XML, cela 'simplifie' les choses.
Tu dois ouvrir le fichier ainsi :
[code:1][string]$outfinal = \"C:\fusionmodif.bin\"
[XML]$Origine=Get-Content $outfinal[/code:1]
puis manipuler des éléments XML à partir de la variable $Origine

Tutoriels PowerShell

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

Plus d'informations
il y a 9 ans 7 mois #18159 par Laurent
merci de ton retour mais étant débutant, je ne vois pas comment \"manipuler\" des éléments XML à partir de la variable $Origine

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

Plus d'informations
il y a 9 ans 7 mois #18160 par Laurent Dardenne
squale76 écrit:

merci de ton retour mais étant débutant, je ne vois pas comment \"manipuler\" des éléments XML à partir de la variable $Origine

Il ne te reste plus qu' apprendre :)

Tutoriels PowerShell

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

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