【发布时间】:2010-12-14 17:11:47
【问题描述】:
我编写了一个小 Python 脚本 wrapcl.py 脚本,它包装了我们的编译器二进制文件(cl.exe,Microsoft Visual Studio C++ 编译器)。然后我创建了一个新的批处理文件cl.bat,它使Python 脚本可以访问,这样我就可以像以前一样运行cl,它会默默地调用我的包装脚本而不是真正的程序。对于它的价值,这是我的cl.bat 批处理文件:
@python %~dp0\wrapcl.py %*
这很好用——除了一种情况:
我们现有的脚本可以做类似的事情
cl >NUL 2>&1 && GOTO CL
确定 Microsoft Visual Studio C++ 编译器是否可用。如果cl 实际调用我的cl.bat 批处理文件,则会中断,因为对cl.bat 的调用永远不会返回。为此,我们必须使用call cl >NUL ...。
有什么方法可以让我的wrapcl.py Python 脚本看起来就像调用者的cl.exe,这样我就可以避免接触我们现有的脚本,这些脚本期望cl && foo 可以工作?
【问题讨论】:
标签: windows batch-file