У меня есть файл .exe, который при вызове из командной строки Windows сначала подключается к серверу, а затем запрашивает ввод пользователя в качестве подтверждения. Примерно так:
C:\SomePath\AnotherFolder>TheApplication.exe download
Logging in to Vault server myserver.app.cosmos...
Logged in to the Vault server
Downloading will overwrite existing files.
Download scripts for context 'COSMOS' to folder:
C:\Work\MyFolder\TEST?
(y/n): n <--- n was my input
Press any key to exit... <--- here i pressed y
Я хочу автоматизировать этот процесс.
Я попробовал следующую строку из командной строки Windows:
echo n|TheApplication.exe download
Я даже попробовал:
(echo n && echo y)|TheApplication.exe download <-- the y for the last user input request to close the app.
Но в обоих случаях он выдает следующую ошибку:
Unhandled Exception: System.InvalidOperationException: Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.
at System.Console.ReadKey(Boolean intercept)
at System.Console.ReadKey()
at TheApplication.Program.Main(String[] args)
** отказ от ответственности: TheApplication.exe является сторонним исполняемым файлом. Я не могу ничего изменить внутри него.
PS: При необходимости я могу запустить это из консоли PowerShell, если это невозможно из командной строки windows, или я могу также включить все это в пакетный скрипт.
Но как бы то ни было, мне нужно это автоматизировать.