Getting the exit code of batch script that is called within a powershell script

Hello,

   I'm trying to capture and display the exit code of a batch (.bat) script that is called within a powershell (.ps1) script. I'm new to power shell scripting. Greatly appreciate if you can provide any inputs or sample code on how this could be achieved.

Below is the .bat script that is being called with various parameters from the .ps1 script. How do I capture and display the exit code of this istool.bat script?

 .\istool.bat glossary export -dom serverhostname:9446 -u user -p password -filename "c:\exp_polrules.xml"  -allpolrul 

Many thanks!
Naveen.

Wow, that’s funny. There is someone with the exact same problem as you … :wink:

https://social.technet.microsoft.com/Forums/windows/en-US/8b40b43f-1c01-4da2-a4b6-323e9e431a3d/calling-a-bat-script-from-a-ps1-script?forum=winserverpowershell

You don’t show how you are capturing the error in the batch file or even how you are exiting the batch file.
Anyway, in most cases, $LASTEXITCODE (which is the equivalent to %ERRORLEVEL%) is what you’d normally use to retrieve this data point.

So, something like…
& cmd.exe /c
$LASTEXITCODE

cmd /c dir x:
The system cannot find the path specified.

$lastexitcode
1

cmd /c dir c:
Volume in drive C is Root
Volume Serial Number is 7E63-D40D

Directory of c:

$lastexitcode
0

See details here:
CMD.exe compatibility - PowerShell Team
Get Legacy Exit Codes in PowerShell - Scripting Blog