使用CMD/C Pause时Powershell ISE中断

使用CMD/C Pause时Powershell ISE中断,powershell,cmd,powershell-ise,Powershell,Cmd,Powershell Ise,我是PowerShell的新手,正在从批处理过渡,所以如果我犯了一个愚蠢的错误,请原谅我。我非常喜欢使用Powershell ISE。但是,对于我正在尝试运行的当前脚本,我使用cmd/cpause | Out Nul命令,它会中断ISE,不允许我继续下去 我花了很长时间试图找到暂停但不显示命令输出的方法,我找到了cmd/cpause命令。我可以在正常的PowerShell提示符下运行它,但ISE没有 有没有人知道为什么会发生这种情况,或者有没有更好的方法来替代cmd/c pause Out Nu

我是PowerShell的新手,正在从批处理过渡,所以如果我犯了一个愚蠢的错误,请原谅我。我非常喜欢使用Powershell ISE。但是,对于我正在尝试运行的当前脚本,我使用
cmd/cpause | Out Nul
命令,它会中断ISE,不允许我继续下去

我花了很长时间试图找到暂停但不显示命令输出的方法,我找到了
cmd/cpause
命令。我可以在正常的PowerShell提示符下运行它,但ISE没有

有没有人知道为什么会发生这种情况,或者有没有更好的方法来替代
cmd/c pause Out Nul
?谢谢,任何建议都欢迎

  • Powershell ISE不会重定向STDIN(暂停需要)
  • 不需要将pause命令输出到cmd
  • 有关ISE无法获取stdin的更多信息,请参阅。你不会发现你的具体问题,但问题是完全相同的问题

    在该页面上,您还将找到一种更好的/本机方式从powershell执行“暂停”。。。
    (又名
    [System.Console]::ReadKey($false)

    [System.Console]
    在ISE中不起作用,它没有控制台。信息很好,但@zdan是正确的:
    [System.Console]::ReadKey($false)
    在ISE中不起作用,但
    读取主机“按ENTER退出”
    是一个合理的替代品。感谢您指出这一点。。我想我在想,他会看到这一点,当下面的链接(链接谈论这个)。。我认为ISE中应该使用的是
    If([console]::KeyAvailable){If([System.console]::ReadKey($false))。
    我只是想展示一种从PowerShell中执行“暂停”命令的简单方法。