Windows终端bat脚本激活Python虚拟环境启动服务报错0x80070002如何解决
问题核心原因
- 命令中使用的
;被Windows Terminal默认识别为创建新标签页的分隔符,会将;后的内容判定为独立的启动项,自然找不到C:\Users\me\Desktop\myproyect\;python manage.py runserver这个不存在的程序,抛出0x80070002错误 - 你指定了启动
cmd程序,但传入的是PowerShell格式的.ps1虚拟环境激活脚本,cmd本身无法直接解析ps1文件,参数逻辑完全不匹配
可用修正方案
方案1:使用PowerShell作为执行环境(无需额外写辅助脚本)
直接将所有命令作为PowerShell的参数整体传入,避免被Windows Terminal拆分识别:
wt.exe powershell -NoExit -Command "& 'c:\Users\me\Desktop\myProyectVirtualenv\virtualenv\Scripts\Activate.ps1'; cd 'C:\Users\me\Desktop\myProyect\'; python manage.py runserver"
说明:-Command参数会把后续内容完整传给PowerShell解析,不会触发Windows Terminal的新标签页逻辑。如果你的虚拟环境激活后会自动切换对应目录,可自行去掉cd命令。
方案2:使用cmd作为执行环境
替换为cmd可识别的.bat格式激活脚本,用&&连接多步命令:
wt.exe cmd /k "c:\Users\me\Desktop\myProyectVirtualenv\virtualenv\Scripts\activate.bat && cd /d C:\Users\me\Desktop\myProyect\ && python manage.py runserver"
说明:/k参数等价于-NoExit,实现命令执行完成后不关闭窗口,&&仅在前序命令执行成功后才运行后续命令。
内容的提问来源于stack exchange,提问作者Eucrow
相关产品推荐
相关产品推荐

