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-Host
so 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$false
when 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: