2

私は次のようにPowershellを呼び出しています:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noprofile -noninteractive -nologo -file "C:\Users\dummy\Documents\dev\powershell\samples\test.ps1"

Python スクリプトから呼び出していますが、ショートカット経由で呼び出した場合も同じ問題が発生します。-NonInteractiveこのフラグにより​​、非表示のウィンドウで Poweshell が実行されると思いましたが、そうではありません。外部アプリケーションから Powershell を呼び出すときにコンソール ウィンドウを非表示にする方法はありますか?

Johannes Rössel の提案に基づくソリューション

import subprocess
st_inf = subprocess.STARTUPINFO()
st_inf.dwFlags = st_inf.dwFlags | subprocess.STARTF_USESHOWWINDOW
subprocess.Popen(["notepad"], startupinfo=st_inf)
4

3 に答える 3

2

適切な引数をCreateProcessまたはProcess.Startに渡して、コンソール ウィンドウを非表示にすることができます。

ただし、PowerShell には、-WindowStyle非表示に設定できるパラメーターもあります。

于 2010-03-07T13:01:05.287 に答える
1

-WindowStyle Hiddenしばらくの間、コンソールウィンドウが毎回表示されたので、私は運が悪かった.

そのため、まさにそれを行う PsRun.exe というヘルパー exe を使用しています。ソースと exe ファイルをダウンロードできますPowerShell の WinForm GUI でスケジュールされたタスクを実行します。スケジュールされたタスクに使用します。

(-windowstyle パラメーターは V2 でのみ使用できることに注意してください。)

于 2010-03-07T16:48:20.447 に答える
0

を使用し-WindowStyle Hiddenます。ここを参照してください。

于 2010-03-07T13:02:48.690 に答える