При выполнении некоторой автоматизации Powershell у меня возникают проблемы с тем, как данные, записываемые в стандартный вывод с помощью файла .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
- это указанная мной строка. Как я могу предотвратить это?