0

stdout 経由でコマンド出力を取得する python 環境から DOS コマンドを実行します。

スクリプトが実行されるたびに Windows コンソールがポップアップすることを除いて、すべて正常に動作しているため、Windows コンソールを非表示にする方法が必要です。

概略的には、予想されるプロセスは次のとおりです。

"Console1" runs "hidden Console2" and retrieves its output into "Console1"

「 HiddenStart」や「chp」など、DOS コマンドやバッチ スクリプトを実行するときにコンソールを非表示にするソフトウェアに関するいくつかの推奨事項を読みました。VBScript の別のソリューションでも、次のコードを使用してこの結果を得ることができます。

Set oShell = CreateObject ("Wscript.Shell")
Dim strArgs
strArgs = "cmd /c COMMAND GOES HERE"
oShell.Run strArgs, 0, false

しかし、残念ながら、「HiddenStart」も「chp」も VBScript スクリプトも、実行されたコマンドのコマンド出力を取得できません。「Chp」は stdout を出力しますが、終了プロセス コードに対してのみです。

結果をディスク上のファイルに記録し、ファイルの内容を取得できると言う人もいるかもしれませんが、それは必要なものではなく、より複雑なプロセスになります。

それで、非表示のコンソールからコマンド出力を取得することがまったく可能かどうか疑問に思っていますよね?

解決:

os.system コールを含む .pyw ファイルでコンソール ウィンドウを回避するにはどうすればよいですか?

投稿者のメモ: こんにちは、ここに来るのは初めてです。この質問は重複ではなく、別の質問です。その証拠に、私は以前に検索を行ったことがあり、実際に質問を書く前に解決策を見つけるのは困難でした. そのため、モデレーターはそれよりももう少し巧妙である必要があります。これは、リンクされた関連する質問または変形ですが、重複ではないと思います。ありがとう。

4

2 に答える 2

0

これを正確に行う方法については、サブプロセス パイプの例を試してください。

于 2013-06-25T17:50:08.127 に答える