【发布时间】:2010-11-14 19:50:22
【问题描述】:
我想构建一个控制台应用程序,它可能会在某些情况下停止并提示输入某些内容。但我只想在输入可用时提示。
有没有办法知道 Stdin 是否连接到任何东西?
我认为 powershell 可以做到这一点,我想做类似的事情。 Powershell 会检测它何时以交互方式运行,并在为真时进行提示。我认为也可以强制 powershell 进入非交互模式。 (如果我错了,请纠正我)
我想我认为有几种可能性,包括但不限于:
- 程序在 cmd.exe 提示符下以交互方式运行。在这种情况下,提示输入。
- 程序正在脚本中运行,并且某些内容已通过管道传输到标准输入。在这种情况下,没有提示。
- 程序在脚本中运行,该脚本在 cmd.exe 提示符下运行。在这种情况下,提示。
- 该程序正在另一个程序中运行,并且没有任何内容通过管道传输到标准输入。在这种情况下,没有提示。
控制台应用程序是否可以区分这些情况并相应地修改行为?
【问题讨论】:
标签: .net powershell console