如何使用-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
标志将导致Poweshell隐藏窗口中执行,但事实并非如此。是否有从外部应用程序调用时Powershell的supressing控制台窗口的方法吗?
基于约翰内斯罗塞尔建议
解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
没有运气,因为一个控制台窗口出现每一次一会儿。
这就是为什么我使用一个辅助的exe称为PsRun.exe这正是这么做的。你可以下载源和EXE文件的在PowerShell中运行与WinForm的GUI计划任务。我用它来计划任务。
(注意,-windowstyle参数仅适用于V2。)
使用-WindowStyle Hidden
。请参阅这里。
不隶属于 StackOverflow