问题标签 [console-redirect]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 将控制台输出重定向到winforms ListBox
我建立了一个库,它使用 Console.WriteLine(); 转储其大部分调试文本;
我现在是在 Windows 窗体应用程序中使用库的过程,并且仍然需要访问控制台输出。(在列表/富文本框中显示)
我注意到我可以将标准从控制台覆盖到 TextWriter,但是我如何将这些数据输入到 display 中。
我尝试按照以下方式做一些事情
但无济于事。有任何想法吗?
删除了不需要的代码。
c# - 使用进程的实时控制台输出重定向
我正在使用 VBOXMANAGE 来“导出”来宾机器。VBOXManage 是一个控制台应用程序,可以从主机控制来宾机器的行为。由于导出命令是一个很长的过程,它返回的过程更新如下:
0%...10%...20%...30%...100%
我正在编写一个 C# 应用程序,它将使用 Process 调用 VBOXManage。这是我的代码:
这很好,除了输出是按 LINE 读取的。这意味着流程更新“0%...10%...20%...30%...100%”只会在实际流程完成后显示。
有没有办法实时捕获控制台输出?
谢谢!
c# - 调用 Console.ReadLine() 的方法的 C# 单元测试
我想为一个名为的类的成员函数创建一个单元测试,该函数ScoreBoard
存储游戏中的前五名玩家。
问题是我为 ( ) 创建的测试方法SignInScoreBoard
正在调用Console.ReadLine()
,因此用户可以输入他们的姓名:
有没有办法插入十个用户,以便我可以检查是否存储了五个移动(步骤)较少的用户?
windows - 能否完全捕获 Windows 控制台应用程序的控制台输出(包括高级操作)?
重定向控制台程序的标准输入/输出是一件小事,但如果程序使用高级控制台功能呢?就像输出彩色文本、移动光标和直接操作控制台缓冲区一样?是否也可以捕获并重定向到我自己的程序进行处理?
注意:我说的是我的应用程序(不一定是控制台应用程序)运行控制台应用程序并将其输入/输出重定向到自身的场景。
注 2:最后我会想要 C# 代码,但现在让我们坚持使用裸 Win32 API 和 C 或 C++。无论如何,我认为没有 PInvoke 是不可能的,所以让我们首先了解基本原理(如果可能的话)。
c# - 重定向标准错误/标准输出
我有一个 C# 应用程序,我在其中尝试将一些写入到 stderror 的文本重定向。写入 stderror 的文本实际上是通过调用其他 dll 中存在的函数来编写的。我已经使用CreatePipe
,SetStdHandle
和ReadFile
(按此顺序)来实现上述功能。虽然我可以使用 Console.SetError 重定向在同一个 C# 文件中写入的任何文本,但由其他 dll 写入 stderr 的文本仍会写入本机 stderr 并且不会被重定向。
有什么方法可以捕获/重定向此文本?谢谢。
build - OpenSSL 构建奇怪的行为
它有点奇怪的故事。我正在尝试构建 openssl 库。好吧,这不是我第一次这样做,直到现在还不错。但是,我决定向 TeamCity 添加构建配置(实际上问题与 TeamCity 无关)以按需构建我所有的第三方库。因此,我使用一组常用的 openssl 构建命令创建了一个步骤:
perl 配置VC-WIN64A
ms\do_win64a.bat
nmake /d /f ms\ntdll.mak
...并且在组装第一个 asm 文件时构建失败。所以我在 VS2012 x64 命令提示符下运行了相同的命令,并且构建成功,正如预期的那样。我花了一段时间才发现问题出在输出重定向上。Teamcity 将构建步骤的输出重定向到 teamcity 构建日志,我也通过将“>1.txt”添加到“nmake /d /f ms\ntdll.mak”命令,构建失败。我会说构建失败的原因有点出乎意料。到目前为止,我已经尝试过:
- 从带有重定向的 VS2010 命令提示符构建相同的内容,失败。
- 在没有重定向的情况下从 VS2010 命令提示符构建相同的内容,成功。
- 从 VS2010/VS2012 命令提示符构建相同的重定向到文件并强制重定向到 CON (nmake /d /f ms\ntdll.mak >CON >1.txt) 失败。
- 谷歌搜索“重定向控制台输出时出现的 nmake 问题” - 没有
- 谷歌搜索“重定向控制台输出时的openssl构建问题” - 没有
我的设置 - Win2008R2,虚拟机。- VS2010,最新更新 - VS2012,更新 1
实际错误: NMAKE : 致命错误 U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\amd64\ml64.EXE"' : return code '0x1' ml64.exe 抱怨 asm 文件说明它应该以“END”语句结尾。确实如此,但是……有什么想法吗?
batch-file - 在 Windows CE 批处理文件中将控制台输出重定向为 null
棘手的事情
这在 Windows 下按预期工作
并将输出重定向到必杀技。
但是我正在 Windows CE 6.0 设备上编写批处理脚本,并且相同的调用创建了一个文件“nul”。是否可以关闭 CE 中的控制台输出?
更新
这是dir * > nul
在空目录中运行两次后的输出
vb.net - 实时控制台重定向问题
首先,我确实花了很长时间试图找到我的问题的答案,但到目前为止,什么都没有。
这是问题所在。我必须运行带有参数的 cli 命令并将输出(实时)重定向到文本框。该命令将如下所示: smcli -n name -f "script.scr"
由于 smcli 不在系统 PATH 变量中,所以我首先需要到正确的 Dir
所以,我最终运行了如下所示的完整命令: cmd /c cd "c:\Program Files(x86)\bla\" && smcli - n name -f "script.scr"
我将在一秒钟内输入代码,但基本上,一切正常,我进入正确的目录,运行命令,它运行脚本,一切都很好。
我试图将输出重定向到不同的形式,但它根本不起作用;无论如何,这将是一个额外的问题。
问题是,当脚本运行时,它会逐步说明它在做什么并将该信息发送到输出(即恢复名称,恢复磁盘配置,......)
正如我所说,我确实得到了所有这些输出……一旦一切都完成了(即在明显冻结 5 分钟后)。不将输出重定向到文本框(即打开控制台窗口),我得到实时输出。
所以这里是现在的代码(有一点,对不起):
除了命令本身,其他一切都来自研究,它们只是放在一起,一方面是运行命令的方式,另一方面是重定向。
我相信问题出在我的命令上(看起来那部分非常明智)。
要么我可以让它以不同的方式完成(同样,它有效但不是实时的)或者我错过了一些微不足道的事情......?
谢谢你的帮助。
以下 tinstaafl 是更新后的代码:
vb.net - 将进程输出重定向到富文本框
我正在尝试重定向由我的应用程序启动的第三方命令行工具的输出。我正在输出到富文本框。这是成功的,但有一个例外。
当我使用 ping 命令进行测试时,我的输出格式不正确。一行附加到前一行。当我尝试在VbNewLine
其中放置 a 或 aVbCrLf
或 a时Environment.NewLine
,会放置一个额外的空白行。
我得到这个输出:
我想得到(因为它在 CMD 窗口中):
我敢肯定这很简单,但无法弄清楚。
这是我正在使用的代码。
.net - .NET 外部 DLL 日志重定向
情况是这样的:
- 我有一个使用和调用外部 win32 dll 方法的 .net 应用程序。
- dll 本身会为调试目的执行大量控制台日志记录
有没有办法在执行它的方法时从 dll 中预取日志并将它们重定向到一个文件左右?
我可以毫无问题地将应用程序的控制台输出重定向到文件 - 但 DLL 调用仍然隐藏(我只在实际控制台中看到它们)。
谢谢!