Когда вы запускаете процесс из Java или C #, вы можете получать консольный ввод и вывод этого процесса в виде потоков.Затем вы можете просто записать в поток ввода процесса.
Это может быть тем не менее, что пакетный файл на самом деле не понравится, поскольку cmd
может искать фактический интерактивный вводс set /p
(например, сбой при перенаправлении файла, если я правильно помню).Лучшим методом, если вы сами управляете командным файлом, будет следующий:
if defined pass goto SkipInput
set /p pass=Enter student ID:
:SkipInput
, который будет использовать переменную окружения, если она присутствует, и только спросит пользователя, если она еще не установлена.Это гораздо более удобно для автоматизации, поскольку вы можете просто установить переменную окружения в вызывающем процессе и наследовать ее для каждого процесса, который вы создаете.И никаких хлопот с эмуляцией ввода.