Вызвать пакетный файл с пользовательским вводом в Powershell - PullRequest
0 голосов
/ 17 апреля 2019

Мне нужно вызвать файл rubbersearch-keystore.bat из Powershell.Тем не менее, этот пакет просит пользователя ввести пароль.Как я могу передать его из переменной?Существует возможность прочитать значение параметра из стандартного ввода, но я не знаю, как заставить его работать в Powershell.

Я пытался, но безуспешно:

$password | Invoke-Expression "$elasticsearchFolder\bin\elasticsearch-keystore.bat add --stdin xpack.security.transport.ssl.keystore.secure_password -f"

1 Ответ

0 голосов
/ 17 апреля 2019

Я должен был сделать что-то подобное один раз и передать некоторые опции после вызова летучей мыши Я сделал это, сохранив параметры в текстовом формате и вызвав летучую мышь как: bat.bat

В вашем случае вы можете попробовать:

$password>c:\temp\pass.txt
Invoke-Expression "$elasticsearchFolder\bin\elasticsearch-keystore.bat add --stdin xpack.security.transport.ssl.keystore.secure_password -f <c:\temp\pass.txt"
del c:\temp\pass.txt

Но, как сказал Ансгар Вичерс, он зависит от летучей мыши и может работать не со всеми из них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...