目前我的脚本没有附加,但删除了我现有的文件。如何将输出附加到现有(.csv)文件?或者我无法将我的重新附加到文件中。 我正在使用每个xsl文件将每个xml转换为csv文件(最后得到xml * xsl csv文件)。我只想拥有与xsl文件一样多的csv文件。
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")));
}
}
(我希望有人能理解我的意思。)
答案 0 :(得分:3)
您可以制作某种临时文件,用于存储数据,然后将新文件数据附加到其中。应该看起来像这样:
$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
}
}
答案 1 :(得分:1)
要将输出附加到文件,您可以使用以下命令:
$Path="Full Path of file"
"Content you want to out file" | Out-file $Path -Append
希望这个HElps。