gpt4 book ai didi

python - 使用包含空格的绝对路径执行 powershell 文件

转载 作者:太空宇宙 更新时间:2023-11-04 00:21:01 27 4
gpt4 key购买 nike

我正在尝试在我的 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"'])

现在没有错误,但它也没有执行脚本......有什么想法吗?

最佳答案

powershell.exe 不假定参数自动是要执行的文件;您需要确定所有参数。使用-File开关

proc = subprocess.Popen(["powershell.exe", "-File", r"F:\FOLDER\FOLDER OK\myfile.ps1"])

r"..." 中的 r(对于 raw)关闭转义序列处理,以便 \ 无需转义即可使用。

参见 PowerShell Command Line Help在 Microsoft 文档中。

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>]

关于python - 使用包含空格的绝对路径执行 powershell 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49110935/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com