我正在使用" PowerShellInstance"在C#中执行PowerShell脚本。但是我遇到了与命令行开关有关的问题" Clear-Host
"。我得到一些与主机程序或命令类型不支持用户交互有关的错误。
但是,必须可以直接通过PowerShell执行此脚本(不使用C#),因此,我想要" Clear-Host
"仅当脚本是从PowerShell窗口中触发而不是从C#代码触发时才执行的命令。
到目前为止,我发现的唯一方法是将其包裹在" Try { } Catch { }
"阻止,但我想知道是否有更好的解决方案...像" if ($host.IsOk) { }
"。
由于
答案 0 :(得分:0)
好的,如果我理解正确,你想要这样的东西:
if($host.UI.RawUI.WindowTitle -match "PowerShell")
{
Clear-Host
}
else
{
"The script was executed from C#"
}