2010-12-09 18 views
1

J'ai un fichier appelé one_to_many.txt. Dans le fichier les données sont:Diviser un fichier en plusieurs avec Powershell

a,aaa 
b,bbb 
c,ccc 

Je veux utiliser powershell pour créer 3 fichiers A.TXT, b.txt et c.txt

fichier a.txt pour contenir des données "aaa", b contenir « bbb ...

Je suis nouveau à Powershell et ne peut pas travailler sur la façon de le faire Merci

Répondre

4

Une solution possible:..

Get-Content one_to_many.txt | Foreach-Object { 
    $fileName, $content = $_ -split ',' 
    $content | Set-Content "$fileName.txt" 
} 

Get-Content lit le fichier et renvoie les lignes, une par une. Chaque ligne est redirigée vers Foreach-Object où il est possible d'accéder en tant que $_.

Vous devez diviser la ligne par une virgule, appelez donc l'opérateur -split qui renvoie dans ce cas un tableau de 2 éléments. L'affectation $filename, $content = .. entraîne l'affectation du contenu du premier élément du tableau (de -split) à $filename et le reste à $ content.

Puis simplement stocker ce contenu dans le fichier via Set-Content