-File オプションを使用するときに Powershell ウィンドウを抑制する方法
-
25-09-2019 - |
質問
次のように Powershell を呼び出します。
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noprofile -noninteractive -nologo -file "C:\Users\dummy\Documents\dev\powershell\samples\test.ps1"
Python スクリプトから呼び出していますが、ショートカット経由で呼び出した場合も同じ問題が発生する可能性があります。私は思った -NonInteractive
flag を指定すると、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)
解決
あなたはのCreateProcessに適切な引数を渡すことができます>または Process.Start のコンソールウィンドウを抑制することができる。
しかし、PowerShellはまた、あなたが隠さに設定することができ-WindowStyle
パラメータを持っています。
他のヒント
運が悪かった -WindowStyle Hidden
, しばらくの間、毎回コンソールウィンドウが表示されていたためです。
そのため、私はまさにそれを行う PsRun.exe というヘルパー exe を使用しています。ソースファイルとexeファイルをダウンロードできます PowerShell の WinForm GUI を使用してスケジュールされたタスクを実行する. 。スケジュールされたタスクに使用します。
(-windowsstyle パラメーターは V2 でのみ使用できることに注意してください。)
使用-WindowStyle Hidden
。 ここを参照してください。
所属していません StackOverflow