There's already question addressing my issue (Can I get && to work in Powershell?), but with one difference. I need an OUTPUT from both commands. See, if I just run:
(command1 -arg1 -arg2) -and (command2 -arg1)
I won't see any output, but stderr messages. And, as expected, just typing:
command1 -arg1 -arg2 -and command2 -arg1
Gives syntax error.
2019: the Powershell team are considering adding support for
&&to Powershell - weigh in at this GitHub PRTry this:
The
$()is a subexpression allowing you to specify multiple statements within including a pipeline. Then execute the command and pipe toOut-Hostso you can see it. The next statement (the actual output of the subexpression) should output$?i.e. the last command's success result.The
$?works fine for native commands (console exe's) but for cmdlets it leaves something to be desired. That is,$?only seems to return$falsewhen a cmdlet encounters a terminating error. Seems like$?needs at least three states (failed, succeeded and partially succeeded). So if you're using cmdlets, this works better:This kind of blows still. Perhaps something like this would be better: