我有数百种使用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文件并保存呢?
答案 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
代替路径字符串。