Путь вокруг максимальной длины командной строки? - PullRequest
0 голосов
/ 15 марта 2019

Я использую pdftk для объединения двух PDF-файлов, но они настолько велики, что из-за параметров длина команды превышает максимальную длину символа.Есть ли способ обойти это?

Что-то, что я не пробовал: сохранить фрагменты команды в переменной, объединить их вместе и затем использовать эту переменную в конечной команде

Обходной путь, который у меня естьпопробовал: Когда мои параметры достигли определенной длины, отрежьте эту команду, завершите ее, а затем начните с того места, где я остановился, с новыми параметрами.Это работает, но эффективно умножает время выполнения в зависимости от того, сколько раз мне нужно будет выполнить команду.

1 Ответ

0 голосов
/ 18 марта 2019

Мне удалось найти частичное решение с помощью команды powershell "Start-Process":

$pdftk = "C:\Program Files (x86)\PDFtk Server\bin\pdftk.exe"
$params = "A=`"C:\PDF\a.pdf`" B=`"C:\PDF\b.pdf`" cat A1 B1 output `"C:\PDF\out.pdf`""
start-process $pdftk $params -wait

Это даст вам новый максимум из 32766 символов, с которым намного проще работать. Обязательно используйте полные пути и экранируйте кавычки, чтобы все работало правильно, так как этот метод не передает существующие переменные в этот новый «процесс».

...