2011-06-23 20 views
1

可能性の重複:
DOS command to Display result on console and redirect the output to a fileコマンドラインのアクティビティを記録するには?

は、さまざまなGoogle検索を試みたが、何も私の問題を解決するように見えません。

基本的に私は、自分の現場データベースで作業し、レポートのさまざまなデータを抽出する必要がある会社のために働いています。彼らはSqliteを使用しています(私はそれがDBのための最良の選択ではないかもしれない方法についての十分なコメントを聞いたので、それらを残してください)と私はいずれかのWindowsコマンドプロンプト上のすべての活動を記録するか、私は後でそれを参照する必要がある場合に備えて、Sqliteコマンドラインから.txt形式で表示します。

誰も私にこのことをどうやって説明することができますか?私は少し初心者であり、このようなものを一歩一歩踏み外す必要があります。前にこのようなことはしていません。

乾杯!

+1

これは正確な複製ではありません。引用された質問(およびその回答)は、出力のみを議論する。ここで彼は明らかに、彼がしていることの*出力*だけでなく、それらの出力を引き起こす*入力*も記録したいと思っています。 –

+0

私は「オフトピック」として閉じるように投票しました。投票は4対1で「完全な重複」となっています。 –

答えて

0

私はあなたがこれを直接行うことはできないと確信しています。つまり、Windowsコマンドプロンプトは、入力した入力を記録する手段を提供していません。アウトプット(例えば、あなたが走っているコマンドから)をキャプチャすることはできますが、あなたの目的のためにおそらく適切ではありません。

ユーザからの入力を受け取り、それぞれをログに記録し、コマンドプロンプトに送信し、コマンドプロンプトから出力をキャプチャしてログに記録する、独自の「シェル」を作成する必要があります。

previous questionへの回答では、あなたがしなければならないことのほとんどを処理するいくつかのコードを掲載しました。大きな違いは、handle_output(たとえば)を見て、キャプチャされた出力をコンソールに表示するのではなく、ファイルに書き出すことです。今のところ、この例では子供の標準入力をファイルからリダイレクトしていますが、コンソールから読み込むように変更するのはかなり簡単です。handle_outputhandle_errorのような関数を使っています出力を表示するのではなく、ユーザーからの入力と各行を1)ログに書き出し、2)匿名パイプ(匿名パイプから読み取ったhandle_outputおよびとよく似ています)。

+0

私はあなたの答えを担当者を持っていませんが、それは良い答えのように見えますが、私はあなたが説明したものを実装する方法を理解することができるだろう確信しています。私はまだそれほど良いものではない。私の大学では、入力するコマンドがあったと確信しています。少なくとも、Linux OS上では、MySqlデータベースのすべてのコマンドラインアクティビティをログに記録することが許可されています。私はそれをする方法を知っていればいいと思う。 – Chucky

関連する問題