读取和解码 base64 XML 并在 PowerShell 中将其保存为 PDF
Read and Decode base64 XML and save it to PDF in PowerShell
我有数百个用 base64 编码的 XMLs,结果是 PDF,是否可以创建一个 PowerShell 脚本来循环使用 XMLs 的整个文件夹并将它们重新保存为 *. bin 或 PDF 文件?
例如这个有效:
$file = "C:\PS.xml";
[System.Convert]::FromBase64String((Get-Content $file)) |
Set-Content "C:\PS\output.bin" -Encoding Byte
但是如何将 "C:\PS.xml" 更改为 for 循环并转换每个 XML 文件并保存它们?
你问的很琐碎。使用 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
代替路径字符串。
我有数百个用 base64 编码的 XMLs,结果是 PDF,是否可以创建一个 PowerShell 脚本来循环使用 XMLs 的整个文件夹并将它们重新保存为 *. bin 或 PDF 文件?
例如这个有效:
$file = "C:\PS.xml";
[System.Convert]::FromBase64String((Get-Content $file)) |
Set-Content "C:\PS\output.bin" -Encoding Byte
但是如何将 "C:\PS.xml" 更改为 for 循环并转换每个 XML 文件并保存它们?
你问的很琐碎。使用 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
代替路径字符串。