Считайте и расшифруйте XML base64 и сохраните его в PDF в PowerShell - PullRequest
0 голосов
/ 12 июня 2019

У меня есть сотни XML-файлов, закодированных с помощью base64, и результаты представлены в формате PDF. Можно ли создать сценарий PowerShell для зацикливания всей папки с XML-файлами и их повторного сохранения в виде * .bin или файлов PDF?

Например, это работает:

$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 Ответ

1 голос
/ 12 июня 2019

То, что вы спрашиваете, довольно тривиально. Используйте 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 вместо строки пути.

...