Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 您如何知道PowerShell脚本何时完成?_Wpf_Powershell - Fatal编程技术网

Wpf 您如何知道PowerShell脚本何时完成?

Wpf 您如何知道PowerShell脚本何时完成?,wpf,powershell,Wpf,Powershell,我试图将一段代码包装到WPF应用程序中,这样用户只需点击按钮,代码就会运行。但是,由于脚本可能需要时间运行,我想给最终用户一个状态,以便他们知道脚本已经完成。有没有一种方法可以通过powershell和下面发布的这种风格的代码实现这一点 1..255 | %{ $I = "192.168.2.$_" Get-MacAddress($I); function Get-MacAddress { ... } } TL;DR:您可以发送exit 1以退出

我试图将一段代码包装到WPF应用程序中,这样用户只需点击按钮,代码就会运行。但是,由于脚本可能需要时间运行,我想给最终用户一个状态,以便他们知道脚本已经完成。有没有一种方法可以通过powershell和下面发布的这种风格的代码实现这一点

1..255 | %{
    $I = "192.168.2.$_"
    Get-MacAddress($I);
    function Get-MacAddress {
        ...
    }
}

TL;DR:您可以发送
exit 1
以退出,返回代码为1(或0以外的任何数字),这意味着它由于某种原因失败

通常情况下,PowerShell脚本以代码0退出。大多数其他应用程序在“成功完成”时返回退出代码0,并且没有程序意识到发生的任何异常或错误

如果您在WPF中捕获退出代码,您可以报告它是否成功(
exit 0
在代码中的某个点插入,或者让它按预期完成),或者它是否失败(
exit
任何其他数字)-在这一点上,您要考虑报告特定的退出代码,具体原因是发生错误。

还可以考虑查看
try
catch
throw
,因为它们也非常有用

编辑:作为最后一点,请仔细看看在某些情况下如何处理
%errorLevel%
(存储退出代码的位置)<代码>%errorLevel%是您希望关注的内容,如果您使用
退出
代码