2016-11-07 12 views
0

Momentan hängt mein Skript nicht an, sondern löscht meine vorhandenen Dateien. Wie kann ich meine Ausgabe an eine vorhandene (.csv) Datei anhängen? Oder kann ich meinen reuslt nicht an eine Datei anhängen. Ich transformiere jeden XML-Code mit jeder xsl-Datei in CSV-Dateien (ich bekomme xml * xsl-csv-Dateien am Ende). Ich möchte nur so viele CSV-Dateien haben, wie ich xsl-Dateien habe.Ausgabe an Datei anhängen?

C: 
$converter = New-Object System.Xml.Xsl.XslCompiledTransform; 
foreach ($xsl in (Get-ChildItem (Join-Path (Get-Location) "Users\fh0054\Desktop\powershell\xsl") -filter "*.xsl")) { 
  $converter.Load($xsl.FullName);  
  foreach ($xml in (Get-ChildItem (Join-Path (Get-Location) "Users\fh0054\Desktop\powershell\xml") -filter "*.xml")) { 
    $converter.Transform($xml.FullName, (Join-Path (Get-Location) ("Users\fh0054\Desktop\powershell\csv\" + $xml.Name + $xsl.Name + ".csv"))); 
  } 
} 

(Ich hoffe, man kann verstehen, was ich damit meine.)

Antwort

1

Für zu einer Datei Anfügen Ausgang Sie den folgenden Befehl verwenden:

$Path="Full Path of file" 
"Content you want to out file" | Out-file $Path -Append 

this helps.

+1

Dies bietet keine Antwort auf die Frage. –

+0

Die Frage war, wie man die Ausgabe an eine Datei anhängt, ohne sie zu löschen. Ich hoffe, die obige Antwort erfüllt den Zweck. Wenn nicht, lassen Sie mich wissen, was genau Sie betrachten? – Venkatakrishnan

3

Sie könnten wahrscheinlich eine Art temporäre Datei erstellen, in der Sie Ihre Daten speichern und dann neue Dateidaten anhängen. Sollte in etwa so aussehen:

$tempcsv = 'c:\temp\my.csv' 
$converter = New-Object System.Xml.Xsl.XslCompiledTransform; 

foreach ($xsl in (Get-ChildItem (Join-Path (Get-Location) "Users\fh0054\Desktop\powershell\xsl") -filter "*.xsl")) 
{ 
    $converter.Load($xsl.FullName); 
    foreach ($xml in (Get-ChildItem (Join-Path (Get-Location) "Users\fh0054\Desktop\powershell\xml") -filter "*.xml")) 
    { 
    $path = (Join-Path (Get-Location) ("Users\fh0054\Desktop\powershell\csv\" + $xml.Name + $xsl.Name + ".csv")) 
    $converter.Transform($xml.FullName, $path); 
    Import-Csv $path | Export-Csv -Path $tempcsv -Append -NoTypeInformation 
    } 
} 
Verwandte Themen