-File オプションを使用するときに Powershell ウィンドウを抑制する方法

StackOverflow https://stackoverflow.com/questions/2396271

質問

次のように 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ここを参照してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top