如何通过Python调用PowerShell将文件夹添加到Windows快速访问并传参
问题解决
报错原因
原有代码的报错是因为错误使用方括号[]包裹PowerShell命令,PowerShell会将方括号识别为类型声明语法,因此触发「缺少类型名」的解析错误。
实现代码
import os myfolder = "C:/Windows" # 转义路径中的单引号,避免语法冲突 safe_path = myfolder.replace("'", "''") os.system(f"powershell.exe -WindowStyle Hidden -Command \"$qa = New-Object -ComObject shell.application; $qa.NameSpace('{safe_path}').Self.InvokeVerb('pintohome')\"")
问题对应解答
- 正确调用PowerShell执行命令
调用powershell.exe时需添加-Command参数,明确告知PowerShell后续内容为要执行的内联命令,无需读取本地脚本文件。 - 多条代码同运行环境执行
多条PowerShell命令使用分号;分隔即可,所有命令会在同一个PowerShell进程上下文执行,变量可正常共享,无需额外拆分调用。 - 正确传递文件夹路径变量
使用Python字符串格式化注入路径前,先对路径中的单引号做转义处理,避免路径本身包含单引号时破坏PowerShell的字符串语法;路径统一放在单引号内即可被PowerShell正确识别。
隐藏PowerShell窗口实现
给powershell.exe添加-WindowStyle Hidden启动参数,即可让PowerShell进程在后台运行,不会弹出终端窗口。
内容的提问来源于stack exchange,提问作者morph3us
相关产品推荐
相关产品推荐

