问题标签 [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.

0 投票
2 回答
7996 浏览

c# - 将控制台输出重定向到winforms ListBox

我建立了一个库,它使用 Console.WriteLine(); 转储其大部分调试文本;

我现在是在 Windows 窗体应用程序中使用库的过程,并且仍然需要访问控制台输出。(在列表/富文本框中显示)

我注意到我可以将标准从控制台覆盖到 TextWriter,但是我如何将这些数据输入到 display 中。

我尝试按照以下方式做一些事情

但无济于事。有任何想法吗?

删除了不需要的代码。

0 投票
4 回答
17839 浏览

c# - 使用进程的实时控制台输出重定向

我正在使用 VBOXMANAGE 来“导出”来宾机器。VBOXManage 是一个控制台应用程序,可以从主机控制来宾机器的行为。由于导出命令是一个很长的过程,它返回的过程更新如下:

0%...10%...20%...30%...100%

我正在编写一个 C# 应用程序,它将使用 Process 调用 VBOXManage。这是我的代码:

这很好,除了输出是按 LINE 读取的。这意味着流程更新“0%...10%...20%...30%...100%”只会在实际流程完成后显示。

有没有办法实时捕获控制台输出?

谢谢!

0 投票
9 回答
17579 浏览

c# - 调用 Console.ReadLine() 的方法的 C# 单元测试

我想为一个名为的类的成员函数创建一个单元测试,该函数ScoreBoard存储游戏中的前五名玩家。

问题是我为 ( ) 创建的测试方法SignInScoreBoard正在调用Console.ReadLine(),因此用户可以输入他们的姓名:

有没有办法插入十个用户,以便我可以检查是否存储了五个移动(步骤)较少的用户?

0 投票
1 回答
471 浏览

windows - 能否完全捕获 Windows 控制台应用程序的控制台输出(包括高级操作)?

重定向控制台程序的标准输入/输出是一件小事,但如果程序使用高级控制台功能呢?就像输出彩色文本、移动光标和直接操作控制台缓冲区一样?是否也可以捕获并重定向到我自己的程序进行处理?

注意:我说的是我的应用程序(不一定是控制台应用程序)运行控制台应用程序并将其输入/输出重定向到自身的场景。

注 2:最后我会想要 C# 代码,但现在让我们坚持使用裸 Win32 API 和 C 或 C++。无论如何,我认为没有 PInvoke 是不可能的,所以让我们首先了解基本原理(如果可能的话)。

0 投票
0 回答
1038 浏览

c# - 重定向标准错误/标准输出

我有一个 C# 应用程序,我在其中尝试将一些写入到 stderror 的文本重定向。写入 stderror 的文本实际上是通过调用其他 dll 中存在的函数来编写的。我已经使用CreatePipe,SetStdHandleReadFile(按此顺序)来实现上述功能。虽然我可以使用 Console.SetError 重定向在同一个 C# 文件中写入的任何文本,但由其他 dll 写入 stderr 的文本仍会写入本机 stderr 并且不会被重定向。

有什么方法可以捕获/重定向此文本?谢谢。

0 投票
1 回答
459 浏览

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”语句结尾。确实如此,但是……有什么想法吗?

0 投票
1 回答
2243 浏览

batch-file - 在 Windows CE 批处理文件中将控制台输出重定向为 null

棘手的事情

这在 Windows 下按预期工作

并将输出重定向到必杀技。

但是我正在 Windows CE 6.0 设备上编写批处理脚本,并且相同的调用创建了一个文件“nul”。是否可以关闭 CE 中的控制台输出?

更新

这是dir * > nul在空目录中运行两次后的输出

0 投票
1 回答
1030 浏览

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 是更新后的代码:

0 投票
2 回答
1965 浏览

vb.net - 将进程输出重定向到富文本框

我正在尝试重定向由我的应用程序启动的第三方命令行工具的输出。我正在输出到富文本框。这是成功的,但有一个例外。

当我使用 ping 命令进行测试时,我的输出格式不正确。一行附加到前一行。当我尝试在VbNewLine其中放置 a 或 aVbCrLf或 a时Environment.NewLine,会放置一个额外的空白行。

我得到这个输出:

我想得到(因为它在 CMD 窗口中):

我敢肯定这很简单,但无法弄清楚。

这是我正在使用的代码。

0 投票
1 回答
265 浏览

.net - .NET 外部 DLL 日志重定向

情况是这样的:

  • 我有一个使用和调用外部 win32 dll 方法的 .net 应用程序。
  • dll 本身会为调试目的执行大量控制台日志记录

有没有办法在执行它的方法时从 dll 中预取日志并将它们重定向到一个文件左右?

我可以毫无问题地将应用程序的控制台输出重定向到文件 - 但 DLL 调用仍然隐藏(我只在实际控制台中看到它们)。

谢谢!