【发布时间】: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