Итак, быстрый взгляд на сценарии показывает
$outputDir = $inputDir
Но также
$pdfs = get-childitem $inputDir -recurse | where {$_.Extension -match "pdf"}
Это в основном означает поиск всех файлов с расширением PDF в $ inputDir и поиск всех других папок внутри$ inputDir.Но где вы сохраняете статическое расположение $ inputDir
Дайте этому шанс
function CovertPDF-TIFF($InputDirectory, $OutputPDFLocation){
$tool = 'C:\Program Files\gs\gs9.25\bin\gswin64c.exe'
get-childitem $InputDirectory -include "*.pdf" -recurse | %{
$tiff = "$($_.Directory)\$($_.BaseName).tiff"
if(test-path $tiff)
{
"tiff file already exists " + $tiff
}
else
{
'Processing ' + $_.Name
$param = "-sOutputFile=$tiff"
& $tool -q -dNOPAUSE -sDEVICE=tiffg4 $param -r300 $_.FullName -c quit
}
Move-Item $pdf $OutputPDFLocation
}
}
CovertPDF-TIFF -InputDirectory C:\Temp\Test_ED_Data\1\ -OutputPDFLocation C:\Temp\PDF_Out\
То, что здесь происходит, это трубопровод.В основном, в конвейере вы берете выходные данные и передаете их другой команде, символ для трубы - | .
В Get-ChildItem мы получим -включите все файлы, которые заканчиваются на *. pdf
We Pipe | каждый элемент в foreach-объект , также известный как % Там мы создаем переменную $ Tiff , чтобы хранить, где и как назвать tiff на основе найденного нами PDF-файла.В канале $ _ - это переменная для информации, которая была передана по конвейеру (в данном случае это информация о дочернем элементе, то есть информация о файле PDF).В powershell $ () позволяет добавлять отдельные команды в строку или другую команду, называемую выражением, ее собственное имя - Sub Expression .Таким образом, $ Tiff содержит строку каталога дочерних элементов, затем добавляет имя файла дочерних элементов и затем добавляет .tiff в конец.Затем он проверяет наличие элемента с помощью команды Test-Path .Если это так, то он возвращает сообщение.Если это не так, он создает параметры и запускает исполняемый файл gswin64c.exe.В одном из параметров вы увидите -sOutputFile = $ tiff Здесь мы определяем, где будет сохранен новый файл Tiff.Наконец, переместите файл PDF в новое место с помощью Move-Item