为避免交互或停止脚本执行,PowerShell中的输入必须在非交互模式下运行。如:
powershell.exe -NonInteractive
我想在脚本'runtime'中更改此执行模式,而无需重新启动或使用其他PowerShell控制台。或许是一种强迫“非互动”的方式。
这可能吗?
答案 0 :(得分:0)
为什么不在运行时隐藏控制台,并在完成后再次显示控制台。
Add-Type -Name Window -Namespace Console -MemberDefinition '
[DllImport("Kernel32.dll")]
public static extern IntPtr GetConsoleWindow();
[DllImport("user32.dll")]
public static extern bool ShowWindow(IntPtr hWnd, Int32 nCmdShow);
'
function Show-Console {
$consolePtr = [Console.Window]::GetConsoleWindow()
#5 show
[Console.Window]::ShowWindow($consolePtr, 5)
}
function Hide-Console {
$consolePtr = [Console.Window]::GetConsoleWindow()
#0 hide
[Console.Window]::ShowWindow($consolePtr, 0)
}