【发布时间】:2012-07-17 16:12:09
【问题描述】:
我不完全确定这个脚本发生了什么,但基本上这就是我想要做的:
我有一个 Windows 批处理脚本,它使用 doskey 命令定义一些宏。在 Python 中,我希望调用这些宏之一。在一个系统上,我能够做到这一点,但在另一个系统上,它告诉我这不是一个有效的命令。然而,在这两个系统上,如果我调用“doskey /macros”,我会看到所有宏都正确定义。
通过 python,我试图简单地使用子进程调用命令来调用宏:
from subprocess import call
call( "some_macro", shell=True )
如前所述,这在一个系统上运行良好,但在另一个系统上却不行(都运行 Windows 7 64 位)。
我知道我可以通过直接在 Python 中调用而不是尝试调用宏来解决这个问题,但我想了解为什么即使 shell 上下文 python 获取似乎有宏,这也不起作用正确定义(通过运行 doskey /macro 命令观察到)。
有什么想法吗?
【问题讨论】:
-
您检查以确保计算机已接通电源吗?
-
我之前的评论的意思是 - 这是一个 python 问题吗?或者它是基本的东西,比如配置不同的系统?相同的操作系统并不一定意味着相同的环境。
-
啊,看,这不完全一样。它们都是具有相同 Python 版本的 Windows 7 的相对干净的安装。除此之外,我无法想象什么会影响 Windows 命令提示符。我也无法想象为什么运行 doskey /macros 会显示所有有效的、正确定义的宏,但我实际上无法运行其中一个。如果您对哪些环境设置可能会影响这一点有任何想法,那将很有用。
标签: python windows shell macros