我正在开发一个C#/ Visual Studio项目,该项目从文件中获取输入,用它做一些事情,然后给出一个信息启动。我遇到的问题来自于想要将信息保留在屏幕上/保持程序无限期打开。通常我会使用一个简单的Console.ReadLine()或ReadKey(),但是它们都不能用于重定向(程序<属性/命令行参数下的文件)。
我尝试过使用各种控制台命令,但似乎都没有关闭文件重定向并恢复"正常"输入。使用命令提示符重定向是不可能的?
答案 0 :(得分:0)
您的软件只有一个输入流,并且该输入流连接到命令行窗口(如果没有,则按需打开,然后在程序完成后也会关闭)或文件。您的程序无法控制此输入流,这由Windows(命令shell主机窗口)管理。
您可以手动打开cmd.exe并在那里启动程序,然后窗口将保持打开状态,或者使用cmd.exe /K "program.exe < file"
一步完成此操作,或者重写软件以允许它自己打开文件具有某个参数,例如program --in file
。