Ruby windows命令提示符前几行

Ruby windows命令提示符前几行,ruby,windows,command-line,Ruby,Windows,Command Line,是否可以使用Ruby编辑已写入命令提示符的内容 例如,假设我已经在STDOUT上写了10行,我可以把光标移动到,比如说,lime-five,然后只覆盖那一行吗 谢谢。是的,您可以在Windows Vista、7或8以及一些第三方扩展命令解释器(如4NT和Take command)中使用向上键调用以前的命令,编辑该行并重新执行该行。我不明白鲁比和这有什么关系。如果您想让Ruby类型的按键在控制台中进行,则可以使用auto-it Active-X控件 编辑:这里有一个用于编辑控制台的示例,先下载并安

是否可以使用Ruby编辑已写入命令提示符的内容

例如,假设我已经在STDOUT上写了10行,我可以把光标移动到,比如说,lime-five,然后只覆盖那一行吗


谢谢。

是的,您可以在Windows Vista、7或8以及一些第三方扩展命令解释器(如4NT和Take command)中使用向上键调用以前的命令,编辑该行并重新执行该行。我不明白鲁比和这有什么关系。如果您想让Ruby类型的按键在控制台中进行,则可以使用auto-it Active-X控件

编辑:这里有一个用于编辑控制台的示例,先下载并安装控制台,然后运行以下脚本。为了确保脚本不会与其他打开的控制台交互,我将mu cmd.exe复制到了首先启动的cmd2.exe

require 'win32ole' 

title = "C:\\Windows\\System32\\cmd2.exe"
STDOUT.sync = true 
ai = WIN32OLE.new("AutoItX3.Control") 
ai.winwait(title)
ai.WinActivate(title, "")
ai.Send "cls{ENTER}"
1.upto(4) do |i|
  ai.Send "line#{i}{ENTER}"
end
1.upto(4) do |i|
  ai.Send "{UP}"
  sleep 1
end
ai.Send "line one {ENTER}"

你是说IRB?在操作系统的命令提示符控制台中,一次只能执行一系列命令,再次编辑和执行只会重新运行更改后的代码。我不是说在IRB中,我是说在运行ruby程序的windows cmd.exe程序中。我想我需要诅咒…也许我没有写它,虽然我对你写的东西感兴趣,但我的问题更多:如果我已经在命令提示符上写了文本,我是否可以用不同的文本覆盖它?(使用Ruby)这就是我的回答是的,通过模拟击键来使用Auto-it,这是唯一的方法,但是如果您可以在任何时候在Ruby中执行任何命令,为什么要这样做呢?也许您可以更好地解释一下您真正想要实现的目标—我正在从串行端口向命令提示符读取数据,并且正在读取的数据需要覆盖已经存在的数据。因此,我从串行端口读取了5行数据,并在命令提示符下显示,然后,过了一段时间,我从串行端口再次读取了5行数据,这5行数据需要覆盖命令提示符上已经存在的前5行数据(而不是在下面显示)。您使用控制台作为视图,我没有从串行端口读取数据的经验,但您可以捕获这些数据并使用您有更多控制权的控件,如GUI窗口或再次在浏览器中使用Watir,但如果您真的想这样做,您可以使用我建议的技术。如果你愿意,我可以在周三给你举个例子。另一种方法是打印一个移动光标的controle char,但需要一个ansi gem来执行此操作,但是如果无法向上移动,请参见我的问题:如何将光标移动到前一行?比如我怎样才能把光标向上移动三行?