In a Powershell script, I something like this:
Invoke-Expression "& `"C:\Scripts\psftp.exe`" ftp.blah.com"
I want to pipe all output, errors etc of this to the string $output
How can I do this? I've tried >
at the end as well as $output = ...
but neither seem to catch errors and the sort.
Try this:
$output = Invoke-Expression "C:\Scripts\psftp.exe ftp.blah.com 2>&1"
The use of the call operator &
is unnecessary as is quoting the exe path in this case since the path doesn't contain spaces. If the path contained spaces, then it would need to be quoted and then you would have to use the call operator. That said, I'm not sure why you need to use Invoke-Expression
at all in this case. The following would work just as well given your example.
$output = C:\Scripts\psftp.exe ftp.blah.com 2>&1
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With