Question Formatage fichier texte

Plus d'informations
il y a 14 ans 6 mois #10209 par Gilles
Formatage fichier texte a été créé par Gilles
Bonjour,
je viens de faire un programme qui va cherche des informations dans un fichier texte structuré ainsi

nom,prenom

j'aimerais faire fonctionner le programme pour un fichier structuré ainsi

-nom,prenom
-nom1,prenom1
-nom2,prenom2
-nom3,prenom3

N fois le nombre n'étant pas défini et pouvant varier

Le programme structure un fichier texte pour que je puisse creer un compte domino

NOM;prenom;;;pn;;;;;prenom.nom.nsf;;;;;;prenom.nom@domaine.fr;prenom.nom;;;dwa7.ntf

[code:1]#recupération des données dans le fichier nouveau_utilisateur.txt
$utils = get-content \"d:\batch_op\nouveau_utilisateur.txt\";
#récupération des données avec séparateur ;
$char = $utils.split(\",\"«»);

$nom = $char[0];
$prenom = $char[1];

#Formatage du tableau pour création du fichier texte pour domino
$domino = $nom.ToUpper() + \";\" + $prenom + \";\" + \";\" + \";\" + $prenom[0] + $nom[0] + \";\" + \";\" + \";\" + \";\" + \";\" + $prenom + \".\" + $nom + \".nsf\" + \";\" + \";\" + \";\" + \";\" + \";\" + \";\" + $prenom + \".\" + $nom + \"@domaine.fr\"+ \";\" + $prenom + \".\" + $nom + \";\" + \";\" + \";\" + \"dwa7.ntf\";

#definition du chemin d'enregistrement
$chemin = \"d:\batch_op\\" + $nom + $prenom + \".txt\";

#création d'un fichier texte avec les données de la variable $domino
Set-Content $chemin $domino;[/code:1]

Si vous pouvez me lancer car je sèche pour l'instant.

Cordialement

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

Plus d'informations
il y a 14 ans 6 mois #10210 par fabien
Réponse de fabien sur le sujet Re:Formatage fichier texte
Bonjour,

Regarde un petit peu du côté des Cmdlets suivantes :
ConvertFrom-Csv
ConvertTo-Csv

Tu devrais trouver ton bonheur.

Cordialement.

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

Plus d'informations
il y a 14 ans 6 mois #10217 par Richard Lazaro
Réponse de Richard Lazaro sur le sujet Re:Formatage fichier texte
Bonjour,

Alors, j'epsère que j'ai bien répondu à ta demande. Tu trouveras un script en pièce jointe.

Il a 3 paramètres :
- EntryFilePath : Qui accepte donc le chemin vers ton fichier Csv
- DominoFilePath : Qui accepte le chemin vers où les données seront créées
- Domain : Pour changer le domaine facilement ^^

Pour mon test, voici mon fichier d'entré :

[code:1]
nom,prenom
connor,sarah
redfield,chris
mercury,freddy
[/code:1]

l'appel du script :

[code:1]
.\New-DominoUser.ps1 -EntryFilePath .\datas.txt -DominoFilePath .\domino.txt -Domain 'think-ms.net'
[/code:1]

Le résultat dans le fichier domino.txt :

[code:1]
CONNOR;sarah;;;pn;;;;;sarah.connor.nsf;;;;;;sarah.connor@think-ms.net;sarah.connor;;;dwa7.ntf
REDFIELD;chris;;;pn;;;;;chris.redfield.nsf;;;;;;chris.redfield@think-ms.net;chris.redfield;;;dwa7.ntf
MERCURY;freddy;;;pn;;;;;freddy.mercury.nsf;;;;;;freddy.mercury@think-ms.net;freddy.mercury;;;dwa7.ntf
[/code:1]

Bien Cordialement,
Richard Lazaro.

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


Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Pièces jointes :

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

Plus d'informations
il y a 14 ans 6 mois #10227 par fabien
Réponse de fabien sur le sujet Re:Formatage fichier texte
Voici un petit exemple :

[code:1]
get-content test.csv | ConvertFrom-Csv | %{
\"Nom : \" + $_.nom + \"`nPrenom : \" + $_.prenom
}
[/code:1]

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

Plus d'informations
il y a 14 ans 6 mois #10228 par Richard Lazaro
Réponse de Richard Lazaro sur le sujet Re:Formatage fichier texte
Bonjour Phebus,

Je te recommande plutôt d'utiliser la commande Import-Csv (il existe aussi Export-Csv) au lieu de ton enchaînement qui sera forcément plus gourmand en ressource mémoire.

Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

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

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