На сколько я в курсе - лучшего ничего нет.
Есть вариация такого же решения - сначала выводим информацию во временный файл, а потом переназначаем на него ввод
Код:
@Echo off
echo Param1 > %temp%\TempFile.txt
echo Param2 >> %temp%\TempFile.txt
echo Param3 >> %temp%\TempFile.txt
programm < %temp%\TempFile.txt
Но всё равно - срабатывает не всегда. К примеру, в
таким образом ответы не передаются (именно в DiskPart, правда, можно передать сценарий ответов через ключ
/s).