【问题标题】:Unable to launch a python script through my batch file无法通过我的批处理文件启动 python 脚本
【发布时间】:2012-12-24 06:57:08
【问题描述】:

我有一个批处理文件,它应该设置 PATH/PYTHON 路径变量,然后调用我的 python 脚本 (myscript.py),它被设计为一个交互式控制台。我尝试了以下方法:

@echo off
setlocal

if not defined PYTHONHOME (echo warning: PYTHONHOME environment variable is not defined. Using C:\Python24 by default.
SET PYTHONHOME=C:\Python24
if not exist "C:\Python24" ( echo warning: C:\Python24 does not exists. Please specify PYTHONHOME variable manually.))

color 1e
set PYTHONSTARTUP=%~dp0%myscript.py
set PYTHONPATH=%~dp0;%PYTHONPATH%
path %PYTHONHOME%;%PATH%
set PATHEXT=%PATHEXT%;.PY
cd %~dp0%
cmd.exe /k title Interactive Python Console 1.0
cls
%~dp0%myscript.py"

:done
endlocal

在为控制台设置颜色对 (1e) 之前,我已将包含 myscript 的目录附加到路径、python 路径和 python24 设置为 python 主目录。 我的问题是: 我可以更改控制台的默认字体/背景颜色,设置当前窗口的标题,但是 cls (clearscreen) 不起作用,也没有调用我的脚本。在控制台,我的密码是脚本的目录。但是当我在提示符下输入“python”时,myscript 被调用,我可以看到我的脚本的交互式控制台。 批处理中缺少的任何内容,在设置颜色/标题后会自动清除控制台,并调用 myscript.py?

【问题讨论】:

  • 感谢您向我们展示脚本的确切内容。您能否再次检查它是否是脚本的准确副本?例如,%~dp0%myscript.py" 只有一个双引号字符。 set PYTHONPATH=%~dp0;%PYTHONPATH%%~dp0; 之间没有%
  • 这是一个错字.. 格式化的剩余部分.. 但感谢您指出 Jim!实际上,Bren(下)适当指出的问题是启动新控制台的脚本。删除 cmd /k 解决了问题!

标签: python batch-file console cmd


【解决方案1】:

这与 Python 没有任何关系。 cmd /k 不会“设置窗口标题”,它会启动一个 new 命令外壳并将您留在其中,从而在中途停止您的脚本。你为什么不直接做title My New Title?无需使用cmd

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-08
    • 2015-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多