当你运行do文档的时候,其实是在运行do文档里所有命令的一个集合,而不是一个单行的命令。对windows来说,相当于在接受一个批量运行程序的请求,会自动调用批处理命令。也就是说,其实是stata在通过windows的API接口调用批处理程序。那肯定不可避免的要使用windos程序,就好像你的cmd程序必然是c盘一样。这个是没法改变的,也不需要去改变。你写的每一行代码相当于一个工人,当你一行一行在命令栏输入的时候,相当于你在一个个指挥工人干活。而当你运行do文档的时候,相当于你找好了工人,但是不亲自指挥,而是委托给一个管理人员去统一指挥。这个管理人员就是windows的批处理程序。所以这时候你看到的不再是一个个工人具体干的事,而是这个管理人员的状态和干的事。