【问题标题】:Change PowerShell execution mode to -NonInteractive within Script?在脚本中将 PowerShell 执行模式更改为 -NonInteractive?
【发布时间】:2017-04-26 10:55:35
【问题描述】:

为避免交互或停止脚本执行以在 PowerShell 中输入,必须在非交互模式下运行。如:

powershell.exe -NonInteractive

我想在脚本“运行时”中更改此执行模式,而无需重新启动或使用另一个 PowerShell 控制台。或者也许是一种强制“非交互”的方法。

这可能吗?

【问题讨论】:

  • 我不这么认为,NonInteractive 开关会影响一堆只有在启动时才会触及的设置

标签: powershell


【解决方案1】:

为什么不在运行时隐藏控制台,完成后再次显示控制台。

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)
}

【讨论】:

  • 目前我需要维护存储在当前控制台会话中的某些值,因此打开另一个控制台会清除这些值。感谢您的意见。
猜你喜欢
  • 1970-01-01
  • 2011-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-06
相关资源
最近更新 更多