在PowerShell中读取和解码base64 XML并将其保存为PDF

时间:2019-06-12 11:54:10

标签: xml pdf xml-parsing base64 powershell-3.0

我有数百种使用base64编码的XML,结果是PDF,是否可以创建PowerShell脚本来用XML循环整个文件夹,然后将它们重新保存为* .bin或PDFs文件?

例如,这可行:

$file = "C:\PS\1.xml";
[System.Convert]::FromBase64String((Get-Content $file)) |
    Set-Content "C:\PS\output.bin" -Encoding Byte

但是如何将“ C:\ PS \ 1.xml”更改为循环对象并转换每个XML文件并保存呢?

1 个答案:

答案 0 :(得分:1)

您要问的是微不足道的。使用Get-ChildItem枚举输入文件,然后在ForEach-Object循环中处理它们,您从输入文件名中导出输出文件名。

Get-ChildItem 'C:\PS' -Filter '*.xml' | ForEach-Object {
    $outfile = Join-Path $_.DirectoryName ($_.BaseName + '.pdf')
    # rest of your code goes here
}

使用$_.FullName代替$file,并使用$outfile代替路径字符串。