小技巧:如何使用bat删除文件本身及所在目录

昨天想查找如何让批处理(.bat)文件执行完毕后删除本身,不小心看到一个很经典的问题:如何让bat文件在执行完毕后删除本身及所在目录。看大家讨论的热火朝天,仔细想想,这是一组矛盾,因为正在访问的目录、文件是无法删除的,但是bat在执行时想要删除本身很简单,用%0参数代表本身,所以用”del %0″就可以删除掉自己。但是怎么删除自己所在的目录呢,删除本身后后面的批处理就不再运行了,有人说先把自己拷贝到临时目录,然后再删除自己所在的目录,之后再删除自身。

大家一直认可着这个看法,直到某高人出现,他写了这样的一句批处理:

cd.. & rd /s /q “%~dp0”

很完美的解决了这个问题。看下他的思路,不过是跳出到目录外,然后强制删除目录。这样目录里的文件也一起被删掉了。牛人啊牛人!

发表评论

电子邮件地址不会被公开。 必填项已用*标注