Lua的os.remove疑惑。解决办法

Lua的os.remove疑惑。。。
各位牛人。。。
我是lua的新手,最近我想实现一个功能:如果d:\a.txt存在,则删除,如果没有,则创建:
代码如下:
Python code

1    if (nil~=io.open("D:\\a.txt", "r"))then    
2        os.remove("D:\\a.txt");
3        print("a.txt is exist");
4    else
5        io.open("D:\\a.txt","w");
6    end  



在运行的时候,else是可以运行的,也就是,当d:\a.txt不存在,则创建,但是删除,就不正常了。。。
但是if语句相同条件下的print,则可以正常输出。

我试着单独运行os.remove(),是可以正常删除的。。。。
我就很疑惑,条件没有问题,语句也没有问题,这是为什么合在一起就不正常了呢?

各位牛人,请帮忙解答,不胜感激。。。

------解决方案--------------------
我都是用lua 调用批处理来干这种事滴,,,
------解决方案--------------------
你已经open了,所以删除不了
需要先close一下