Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python调用doskey宏_Python_Windows_Shell_Macros - Fatal编程技术网

Python调用doskey宏

Python调用doskey宏,python,windows,shell,macros,Python,Windows,Shell,Macros,我不完全确定这个脚本是怎么回事,但基本上这就是我要做的: 我有一个Windows批处理脚本,它使用doskey命令定义一些宏。在Python中,我希望调用其中一个宏。在一个系统上,我可以这样做,但在另一个系统上,它告诉我这不是一个有效的命令。然而,在这两个系统上,如果我调用“doskey/macros”,我会看到所有的宏都被正确定义 通过python,我试图简单地使用subprocess call命令调用宏: from subprocess import call call( "some_mac

我不完全确定这个脚本是怎么回事,但基本上这就是我要做的:

我有一个Windows批处理脚本,它使用doskey命令定义一些宏。在Python中,我希望调用其中一个宏。在一个系统上,我可以这样做,但在另一个系统上,它告诉我这不是一个有效的命令。然而,在这两个系统上,如果我调用“doskey/macros”,我会看到所有的宏都被正确定义

通过python,我试图简单地使用subprocess call命令调用宏:

from subprocess import call
call( "some_macro", shell=True )
如前所述,这在一个系统上可以正常工作,但在另一个系统上不行(两个系统都运行64位Windows 7)

我知道我可以通过直接在Python中进行调用而不是试图调用宏来解决这个问题,但是我想了解为什么即使Python获取的shell上下文似乎正确定义了宏(正如运行doskey/macro命令所观察到的那样),这仍然不起作用


有什么想法吗?

答案是接受Windows外壳的劣质本质,而只是将我的命令嵌入Python中


这不完全是我所希望的。

您是否检查了计算机是否已插入?我之前的评论是指-这是python问题吗?或者是一些基本的东西,比如不同配置的系统?相同的操作系统并不一定意味着相同的环境。啊,看,这不完全是一回事。它们都是相对干净的Windows7安装,使用相同版本的Python。除此之外,我无法想象什么会影响Windows命令提示符。我也无法想象为什么运行doskey/macros会显示所有有效的、正确定义的宏,但实际上我无法运行其中一个。如果您对哪些环境设置可能会影响此问题有任何想法,那将非常有用。您能否提供更多信息,说明问题所在以及您是如何解决的?