是否可以使用 Ruby 编辑已写入命令提示符的内容?
例如,假设我已经向 STDOUT 写入了 10 行,我可以将光标移动到,比如说,石灰 5 并覆盖那行吗?
谢谢。
是否可以使用 Ruby 编辑已写入命令提示符的内容?
例如,假设我已经向 STDOUT 写入了 10 行,我可以将光标移动到,比如说,石灰 5 并覆盖那行吗?
谢谢。
是的,您可以,在 Windows Vista、7 和可能 8 以及一些第三方扩展命令解释器(如 4NT 和 Take Command)中,您可以使用向上键调用以前的命令,编辑该行并重新执行该行. 我不明白 Ruby 与此有什么关系。如果您想让 Ruby 在控制台中键入击键,可以使用 auto-it Active-X 控件。
编辑:这里是一个使用Autoit编辑控制台的示例,首先下载并安装它,然后运行以下脚本。为了确保脚本不与其他打开的控制台交互,我将 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}"