У меня XML-файл выглядит так:
<Feature>
<B7>A</B7>
<B8>B</B8>
<B9>C</B9>
<ExitCode>
<Found>123</Found>
<NotFound>789</NotFound>
</ExitCode>
</Feature>
У меня скрипт PowerShell выглядит следующим образом:
$regex = [regex]$Pattern
$matching = $regex.Match($FB)
if ($matching.Success) {
while ($matching.Success) {
"Match found: {0}" -f $matching.Value
exit 123 #I want to delete this
$matching = $matching.NextMatch()
}
} else {
"Not Found"
exit 789 #I want to delete this
}
Я хочу получить код выхода, но я не хочу писать exit 123
и exit 780
, я просто хочу вызвать код выхода из файла XML, поэтому каждый раз, когда я хочу изменить номер кода выхода, я просто изменить из файла XML, а не из сценария PowerShell.
Итак, я могу получить журнал кода выхода, если я запускаю сценарий с использованием командного файла, выглядит так:
set log=C:\Users\Log.txt
set PS=C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
set PS=%PS%\powershell.exe -ExecutionPolicy Bypass -File
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass -File C:\Users\XML.ps1 -i C:\Users\Feature.txt -j C:\Users\XML.xml
echo %ERRORLEVEL% > "%log%"