Выполняя некоторую автоматизацию Powershell, у меня возникают проблемы с тем, как автоматически записываются данные, записанные в stdout с помощью файла .cmd
. У меня есть две функции, которые делают примерно следующее:
function a {
& external.cmd # prints "foo"
return "bar"
}
function b {
$val = a
echo $val # prints "foobar", rather than just "bar"
}
В принципе, данные, которые external.cmd
отправляет в stdout, добавляются к возвращаемому значению a
, хотя все, что я действительно хочу вернуть из a
, - это строка, которую я указал. Как я могу предотвратить это?