最近有些朋友问我, 如何将BAT转成EXE,并且不显示黑框。
这可以有多种方法,比如网上下载现成的转换程序,或者用AU3写代码来编译,两者原理都是一样,只不过自己写代码稍麻烦,但是安全写的什么自己都了解,同时还可以学习一些东西,不是很好吗?
现成的程序下载就不说了,我们这里说说高级一点点的用将BAT转成AU3。其中直接将BAT代码转成AU3代码我们也不说了,因为那样等于你会了写AU3,比如将 md 转成 au3的函数,DirCreate。
我们来说将bat现成的代码直接在au3中使用。
下载au3安装:Autoit3 - 3.3.9.0 深蓝打包 一直在用自解压版。
方法1,打包法
将写好的BAT打包进AU3,使用释放,用完删除。适合较大的BAT文件。这个方法简单实用。
代码就两行"test.bat" 是你要打包的bat, "@TempDir & "\temp999.bat" 是运行时将这个BAT释放到临时目录,文件名是 temp999.bat,可以自行改。
第二行是运行释放后的BAT,按F7编译即可。目录结构如下:
方法二,一行一行代码替换法。
不用打包文件,直接将BAT放到AU3中,好处不用释放BAT文件,但缺点是对于复杂的BAT文件,将无法正确的上下文关系,比如带FOR的。
如我们有三行批处理代码
我们在AU3中写到
#include <Process.au3>
FileInstall("test.bat",@TempDir & "\temp999.bat",1)然后按F1编译即可。
是不是很简单?
希望由此可以引申出你的AU3学习之路,,会发现越来越有趣,举一反三,而不只是学会在AU3中打包和释放BAT文件。
我们留个课后思考,如何在第一种方法释放了bat文件后,运行完成,将他删除。
更新1,有朋友反应托盘有AU3图标,只要在第一行加上以下代码就好。
更新2,BAT文件运行完后如何自动删除。
保要在要打包的BAT文件的最后一行加上:
更新3,EXE运行如何删除自身。在au3代码的最后加上。
我的工单留言列表与站长回复 . 共有留言: 36 条