我的设置:
带有菜单的一个Powershell脚本。选择菜单项后,将为该菜单项分配一个特定的Powershell脚本。 我试图让第二个Powershell脚本静默运行,因为 - 在Powershell主脚本中没有显示任何内容。
加成: 我正在查看的完整设置是:
我尝试过的事情: 将以下代码添加到每个辅助脚本
$t = '[DllImport("user32.dll")] public static extern bool ShowWindow(int handle, int state);'
add-type -name win -member $t -namespace native
[native.win]::ShowWindow(([System.Diagnostics.Process]::GetCurrentProcess() | Get-Process).MainWindowHandle, 0)
不幸的是,这关闭了主要的Powershell窗口,这不是我想要的。
答案 0 :(得分:2)
您可以将辅助命令作为后台作业运行并等待它完成。这样,shell中没有显示输出
Start-Job -FilePath YourSecondaryScript.ps1 | Wait-Job
如果需要,您仍然可以分析作业结果(脚本输出)
答案 1 :(得分:1)
通过附加
修复| out-null
在辅助脚本中的每行代码的末尾。