如何记录命令行活动?

时间:2011-06-23 10:29:14

标签: sql sqlite command logging

  

可能重复:
  DOS command to Display result on console and redirect the output to a file

尝试了各种谷歌搜索,但似乎没有解决我的问题。

基本上我正在为一家公司工作,该公司需要我使用他们的现场数据库并提取报告的各种数据需求。他们正在使用Sqlite(请,我已经听到了关于它可能不是数据库的最佳选择的足够评论,所以请不要这样做)我想要记录Windows命令提示符下的所有活动,或者至少记录所有内容我从Sqlite命令行出现在.txt中,以防我以后需要再引用它。

这里有人可以向我解释如何做到这一点吗?我是一个初学者,需要一步一步地分解这些东西。之前没有这样做过。

干杯!

1 个答案:

答案 0 :(得分:0)

我有理由相信你不能直接这样做 - 也就是说,Windows命令提示符不提供记录你提供给它的输入的方法。您可以捕获输出(例如,来自您运行的命令),但出于您的目的,可能还不够。

您可能需要创建自己的“shell”,从用户那里获取输入,记录每个输入,将其发送到命令提示符,从命令提示符捕获输出,并记录它们。

在对previous question的回答中,我发布了一些代码来处理你需要做的大部分事情。最大的区别在于,您需要查看其handle_output(例如),而不是仅将捕获的输出显示到控制台,也将其写入文件。就目前而言,该示例将子项的标准输入重定向为来自文件,但将其更改为从控制台读取应该相当简单 - 您基本上使用的函数类似于handle_output和它已经包含handle_error,但不是显示输出,而是读取用户的输入,你将1)写入日志的每一行,2)通过匿名管道发送给孩子(很多)像handle_outputhandle_error从匿名管道读取。)