Windows PowerShell ISE无法提示输入

11

我使用控制台作为管理Mercurial存储库的工具。 在经典的cmdConsole2中,我键入:

hg in

并且控制台会提示类似于:

D:\workspace\someproject>hg in
http authorization required
realm: Bitbucket.org HTTP
user: xorty
password:

显然我要输入密码。

但当我在PowerShell控制台中输入"hg in"时,它没有提示任何东西。 它只是一直显示: Running script / selection. Press Ctrl + Break to stop

我能让PowerShell ISE的行为像经典控制台一样吗?还是这不是PowerShell工作的方式?


你尝试过PowerShell命令提示符或者只是ISE吗?Manojlds的回答对我来说似乎是正确的。 - Jamie F
2个回答

14

PowerShell ISE确实不支持需要交互输入的控制台应用程序。链接的博客文章详细介绍了如何处理此问题。

由于PowerShell ISE不是控制台,所以普通的控制台应用程序无法像往常一样运行,但当然PowerShell cmdlet可以正常工作,因为某些特性依赖于PowerShell宿主应用程序(例如,您将得到使用Read-Host的图形提示)。

Console2通过保留隐藏窗口中的实际控制台并重复轮询该窗口以获取更改和相应地发送输入来模拟普通控制台。


谢谢解释,不过有点遗憾 :/ - Xorty

4

Powershell ISE(集成脚本环境)不是标准的Powershell控制台。ISE正如其名,是一个相当基本的基于GUI的脚本编写工具,不支持交互式控制台应用程序(在ISE控制台上尝试只输入cmd并查看错误消息)。

打开powershell.exe,并运行您想要的命令。它将基本上像cmd一样运行。或者,您也可以在ISE中按下CTRL+SHIFT+P,然后在那里运行命令。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接