【问题标题】:Python call doskey macroPython调用doskey宏
【发布时间】: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


【解决方案1】:

答案是接受 Windows shell 的劣势,而只是将我的命令嵌入到 Python 中。

不完全是我所希望的。

【讨论】:

  • 您能否提供更多信息,问题出在哪里以及您是如何解决的?
猜你喜欢
  • 1970-01-01
  • 2023-03-19
  • 2014-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-07
  • 2013-01-18
相关资源
最近更新 更多