2009-04-15 13 views
0

私のIDEを呼び出すバッチファイルがあるので、私のIDEにあるコンテンツ(コンテンツ全体)をいくつかのテキストファイルに展開できるかどうかを知りたいだけです。バッチファイルのリダイレクト

私のバッチファイルは、私の既存のバッチファイルに追加する必要が任意のより多くのコードがあります

D:\WindRiver\wrenv.exe -p vxworks653-2.2.3 run 
PAUSE 

の下に書かれています?

答えて

0

私はa similar questionにお問い合わせください。あなたのIDEがstdout/stderrなどに情報を出力する場合には、このようなアプローチが有効です。

私はすでに実行中のプロセスにフックして成功しました出力する。

特に、キャプチャしようとしているのは何ですか?そのウィンドウからの出力?起動に失敗した場合のエラーメッセージ

[編集]私はあなたがキャプチャしようとしているものはまだ正確ではありませんが、バッチファイルからPythonスクリプトを起動できるように聞こえます。 The script launches your IDEとstdoutとstderrをキャプチャします。これにより、通常の出力の両方にエラーが発生します。

+0

こんにちは、私が本当にしたいのは、私のIDEの全内容をsomテキストファイルにすることです。私は、IDEウィンドウ自体を除いてIDEの実行結果を示すログファイルを生成することができません。私は全体の内容がいくつかのxmlファイルやテキストファイルに記録されているので、firthを使うことができます。 – Maddy

1

"私のIDEにある内容を抽出する"とはどういうものかはっきりしませんが、一般的に、この種の問題は自動化ツールを使用して解決されています。このようなツールは、ウィンドウの名前、ボタンのキャプション、テキストのコンテンツから3thdパーティーのアプリケーション(gui要素の画像も)から取得する必要がありますすべてのWindows環境で何かをつかむことができます

私はあなたがAutoHotKey、 Windowsオートメーション用の〜200KBのスクリプト言語。

これを一般的にバッチで行うことはできません。

ような単純なことができAutoHotkeyをウィンドウの内容を取る:それはもう少し複雑、その取得することができます

WinGetText, text, "name of the window" 
FileAppend, %text%, c:\out.txt 

が、あなたが望むことは何もAHKのより、その後の10行を伴わしませんスクリプティング

これは、指定されたプログラムの機能に依存しないため、最良の方法です。一度AHKを学ぶと、システムからすべての情報を一様に取得できます。

一部のアプリケーションでは非標準のWindowsコンポーネントが使用されており、自動化できない場合があります(これはまれです)。

コミュニティフォーラムには、stdin/outのファイルへのリダイレクト、COM Accesibiltyモジュール(Windowsのものを自動化するシステムの方法)、その他の情報を取得するために必要な基本的なものがたくさんあります。画像上に描かれた情報をスキャンするOCRラッパーですらあります。

+0

こんにちは、私のIDEにあるすべての情報がテキストファイルに記録されているはずです – Maddy

+0

私のバッチファイルの処理がうまくいきませんか? hwichコミュニティフォーラムについてお話しましたか? – Maddy

+0

Autohotkeyフォーラム。 いいえ、それは台無しにされません。あなたはバッチファイルがありません:P ちょうど短い1つのAHKスクリプト。 – majkinetor

0

遅く返事を申し訳ありません。これは実際のIDE(D:\ WindRiver \ wrenv.exe -p vxworks653-2.2.3)です。このIDEをコマンドプロンプトに配置すると、IDEが呼び出されます。Plzを任意のより多くのclarifiactionのために私に戻って取得

おかげ stefen

+0

に付属のスパイユーティリティを使用することができますすべてのコマンドは私が使用している実行可能ファイルです。私はその実行可能ファイル名を認識しないので、あなたが何を起動しているのかまだ分かりません。それはウインドリバーのワークベンチです: http://is.gd/sIda ...または何か他のもの? –

+0

実際には "VXWorks 653 2.2.3開発シェル"です。 – Maddy

0

は>>>こんにちは、私はAutoHotkeyを....

いいえ、その正しくないと試みたJST。

正しいコードは私が持っていないWindRiverをインストールしている場合にのみ作成できます。 さて、これをまもなく説明しましょう。

最初に、IDEのタイトルは「WindRiver」という単語で始まるとします。 WindRiverは、何らかの標準ウィンドウコントロール内のテキストを制御階層内に保持する必要があります。問題になっているコントロールのタイプは、テキストをどのように取得できるのかを指示します。それは例えば、リストビューまたはリストボックスである場合、あなたは

ControlGet, outputVar, List,, SysListView321, WindRiver 

を使用する必要が上記のコードは意味、「私のタイトルは 『WindRiver社』で始まるアプリケーションからの最初のSysListView32コントロールのテキストを(それゆえ1終わり)を取得、

『タイトルWinDriverを使用したアプリケーション内の最初のエディットコントロールの私が内容を取得:「

ControlGetText, OutputVar, Edit1, WindRiver 

これは、それが編集ボックスに維持した場合、あなたは、単に行うことができます

を』とouputVar変数に入れて

問題のコントロールの種類と番号を取得するには、ウィンドウズスパイ(AHKトレイアイコンを右クリック)を開き、コントロールをマウスでコントロールして詳細を表示します。ウィンドウのタイトルは常にあなたがウィンドウを識別するために、ウィンドウクラスinstadのタイトルを使用する必要があります変更された場合

Run, d:\WIndriver .... 
WinWaitActive, WindRiver 
ControlGetText, OutputVar, Edit1, WindRiver 
MsgBox %OtputVar% 

全体のスクリプトは次のようになります。たとえば、あなたが

ControlGetText, o, Edit1, Untitled 

または

COntrolGetText, o, Edit1, ahk_class Notepad 

としてメモ帳をターゲットにすることができます最初の方法は、第1のタイトルが変更できるよう優れているアプリケーションのウィンドウAPIのクラスを使用して、ウィンドウのタイトルを使用しています。

AHKのスタートアップの例を少し流暢にするために、私は数日間の練習後に、あなたのニーズに合わせてアプリケーションを調整することができます。

AHKがどれほど強力で、どのような驚異的なことができるかを確認するには、Dockモジュールをチェックしてください。

これをバッチで行い、標準のリダイレクトを使用する方法はありません。したがって、AHKなどの類似言語(AutoIt、Phantom、WinRunner ....)に慣れるほうがよいでしょう。ところで、このような質問は、AHKのAsk For Helpフォーラムでは、通常、数時間で答えられます。

+0

これまで多くの努力を重ねてくれてありがとう、ありがとうございました。私が提供してくれた答えが今、完璧に働いています。 – Maddy

関連する問題