我试图在我的python脚本中执行ps1
文件。
proc = subprocess.Popen(["powershell.exe", 'F:/FOLDER/FOLDER OK/myfile.ps1'])
它停在F:/FOLDER/FOLDER
所以我添加了这样的其他引号:
proc = subprocess.Popen(["powershell.exe", '"F:/FOLDER/FOLDER OK/myfile.ps1"'])
现在没有错误,但它没有执行脚本...... 有什么想法吗?
答案 0 :(得分:3)
powershell.exe
不假定参数自动成为要执行的文件;你需要识别所有参数。使用-File
开关
proc = subprocess.Popen(["powershell.exe", "-File", r"F:\FOLDER\FOLDER OK\myfile.ps1"])
r
中的r"..."
(对于 raw )会关闭转义序列处理,以便可以在不转义的情况下使用\
。
请参阅Microsoft Docs上的PowerShell Command Line Help。
PowerShell[.exe]
[-Command { - | <script-block> [-args <arg-array>]
| <string> [<CommandParameters>] } ]
[-EncodedCommand <Base64EncodedCommand>]
[-ExecutionPolicy <ExecutionPolicy>]
[-File <FilePath> [<Args>]]
[-InputFormat {Text | XML}]
[-Mta]
[-NoExit]
[-NoLogo]
[-NonInteractive]
[-NoProfile]
[-OutputFormat {Text | XML}]
[-PSConsoleFile <FilePath> | -Version <PowerShell version>]
[-Sta]
[-WindowStyle <style>]