DOS .bat 脚本未传递参数

DOS .bat 脚本未传递参数

我们在一台 PC 上遇到了问题,它似乎不遵守 .bat 脚本中的参数,即不将它们传递给调用的 python 脚本。它在大约 10 台其他非常相似的机器上运行良好。

我们有一个这样的bat脚本:

@REM Just pass all arguments directly to the python script of the same name
@%~dpn0.py %*

在这台电脑上,似乎参数没有传递给正在调用的 python 脚本。

这个习语在我们的构建空间中随处可见——但我们无法弄清楚为什么它只在一台机器上失败。

请问对于原因或我们如何调试该问题,您有什么建议吗?

  • 操作系统:Windows 7 Pro,64位
  • Python 版本:2.7.6

答案1

Clare 代表我问了这个问题,但我后来弄清楚了是怎么回事。感谢 JSanchez 给出的答案。问题不在于 bat 脚本,而在于它调用的 python;我找到了一种解决方法,只需输入

python the_python_script.py the arguments 

已经起作用了。我没有想到的是检查一下是否只输入

the_python_script.py the arguments

在命令行中,让 Windows 负责使用哪个 Python 来运行脚本

当我这样做时,程序出现了同样的问题——没有参数。

这又让我

所以我检查了注册表——我的关联确实被破坏了

已修复,现在似乎可以工作了...所以这不是脚本.bat,而是 python 文件关联。

相关内容