Да, ваши примеры работают. Вот что у меня:
Код:
$tesseract = "C:\scripts\Tesseract\tesseract.exe"
PS C:\temp\ocr20210306092926> $images |ForEach-Object -Parallel {
>> & "$tesseract" ".\$($_.name)" "$($_.basename)" -l rus+eng
>> } -ThrottleLimit $threads
InvalidOperation:
Line |
2 | & "$tesseract" ".\$($_.name)" "$($_.basename)" -l rus+eng
| ~~~~~~~~~~~~
| The expression after '&' in a pipeline element produced an object that was not valid. It must result in a command name, a script block, or a CommandInfo object.
InvalidOperation:
Line |
2 | & "$tesseract" ".\$($_.name)" "$($_.basename)" -l rus+eng
| ~~~~~~~~~~~~
| The expression after '&' in a pipeline element produced an object that was not valid. It must result in a command name, a script block, or a CommandInfo object.
Вместе с тем, объект-то есть.
Код:
PS C:\temp\ocr20210306092926> get-item $tesseract
Directory: C:\scripts\Tesseract
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 27.11.2020 20:33 665382 tesseract.exe
И если забить путь руками, то всё работает:
Код:
PS C:\temp\ocr20210306092926> $images |ForEach-Object -Parallel {
>> & "C:\scripts\Tesseract\tesseract.exe" ".\$($_.name)" "$($_.basename)" -l rus+eng
>> } -ThrottleLimit $threads
Tesseract Open Source OCR Engine v5.0.0-alpha.20201127 with Leptonica
Page 1
Tesseract Open Source OCR Engine v5.0.0-alpha.20201127 with Leptonica
Page 1
Tesseract Open Source OCR Engine v5.0.0-alpha.20201127 with Leptonica
Warning: Invalid resolution 0 dpi. Using 70 instead.
Estimating resolution as 146