最近要为打包的程序做一个启动器图标, 之前是用 .bat 脚本来启动程序的, 所以想到了 bat 转 exe 的工具.

下载地址: https://github.com/tokyoneon/B2E

我找到的工具同时支持可视化界面和命令行两种调用方式.

使用方法:

可视化界面

可视化界面的就不多说了, 参数如下图所示:

命令行

命令行的用法如下:

# 先 cd 到下载 bat_2_exe_converter.exe 所在的目录# 获取帮助
.\bat_2_exe_converter.exe -h# 将 test.bat 转换为 test.exe
.\bat_2_exe_converter.exe /bat test.bat /exe test.exe# 转换, 以及添加 launcher.ico 图标 (注意必须是 ico 格式)
.\bat_2_exe_converter.exe /bat test.bat /exe test.exe /icon launcher.ico# 启动时不显示命令行窗口
.\bat_2_exe_converter.exe /bat test.bat /exe test.exe /icon launcher.ico /invisible

Python 脚本

对于 python 开发者, 可以这样封装:

  • 将这个 exe 放到脚本同目录.

  • 脚本代码如下:

    # bat_2_exe.py
    import os
    import subprocess
    import syscurrent_dir = os.path.dirname(os.path.abspath(__file__))
    b2e_tool = f'{current_dir}/bat_2_exe_converter.exe'def bat_2_exe(file_bat: str,file_exe: str = '',file_ico: str = '',show_console=True):if not file_exe:file_exe = file_bat.replace('.bat', '.exe')command = [b2e_tool, '/bat', file_bat, '/exe', file_exe]if file_ico:command.extend(['/icon', file_ico])if not show_console:command.append('/invisible')subprocess.run(command)print('done', file_exe)if __name__ == '__main__':bat_2_exe(*sys.argv[1:])
    

没有第三方依赖, 你可以直接复制到你的项目中.

补充: 一些其他 bat 转 exe 的工具

下面是其他测试过的工具, 其实没有上面的好用, 但也简单介绍一下.

python gen-exe 库

这个作者的思路很巧妙, 通过一个 template (二进制) 文件, 直接替换里面的字节码为你的 bat 内容, 然后生成 exe.

优点就是速度非常快, 理论上几十毫秒就能解决. 与之相比上面的工具要 1 到 5 秒的时间, 有几个数量级的差距.

缺点是生成的 exe 无法处理含有空格的参数, 比如:

.\test.exe aaa bbb "C:/Program Files/xxx"
#   它会识别成: ['aaa', 'bbb', 'C:/Program', 'Files/xxx']

由于本人不懂 C++ 代码, 所以没法修复他的源代码. 感兴趣的人可以看下作者的 github 项目, 期望有人能解决这个问题.

参考

  • https://github.com/tokyoneon/B2E
  • https://github.com/silvandeleemput/gen-exe
  • https://blog.csdn.net/qq981378640/article/details/52980741

BAT 脚本转 EXE 工具相关推荐

  1. bat脚本执行exe文件_将批处理(BAT)脚本转换为可执行(EXE)文件

    bat脚本执行exe文件 When you get down to it, batch files and executable files work pretty much the same way ...

  2. 编写Bat脚本调用Vecotr工具软件HexView

    Vector出品的工具软件HexView是汽车行业内有名的软件,支持增删改查S19.HEX.BIN等格式,并且具有对称.非对称加密.哈希计算.生成消息摘要.数字签名等高级功能. 而且在vector的帮 ...

  3. linux脚本转换exe,Ps1 To Exe(powershell脚本转换EXE工具) V3.0.6 官方版

    Ps1 To Exe是款将PowerShell脚本转换为EXE可执行文件的软件.同时软件非常小巧,功能实用,软件还支持各国的语言,有需要的小伙伴们不要错过了. (点击图片查看高清大图) [软件特色] ...

  4. window通过bat脚本执行exe程序

    1. 执行exe程序 @echo on cd "C:\Users\li\AppData\Local\Programs\xxx" Start "" "x ...

  5. 【PC工具】windows批处理脚本一键bat脚本编辑器,bat转exe工具使用方法,附helloworld参考例程...

    今天给大家分享一个windows的批处理文件(.bat文件)转exe可执行文件的工具.先感谢开源大神们为我们提供这些NB的软件(下边那个F..K..的名字好像是作者哈) 先向大神致敬,感谢大神的辛苦付 ...

  6. bat脚本中获取上级目录_使用Python写一个可以监控Tomcat 运行的脚本,并且把.py文件转换成.exe文件...

    使用Python写一个可以监控Tomcat 运行的脚本,并且把.py文件转换成.exe文件 文章来源与博主本人的CSDN博客,博客地址:https://blog.csdn.net/weixin_435 ...

  7. window 命令行bat脚本软连接执行exe

    为了让自己在window平台上执行命令和linux一样方便.先是添加了一个tools/bin目录到系统Path环境变量中,考虑到每一个程序都会有一堆的附带文件,因此没有把程序可执行文件都拷贝到bin目 ...

  8. bat脚本实现打开关闭exe应用

    bat脚本要打开有空格的路径,start后面必须加引号,exe路径也要加引号 echostart "" "C:\Program Files\erwin\Data Mode ...

  9. Electron-builder Windows平台打包安装后执行指定的bat脚本(exe)

    1. package.json 文件 build 下的 nsis 和 win 配置 "nsis": {"oneClick": false,"allow ...

最新文章

  1. 一个用了统计CPU 内存 硬盘 使用率的shell脚本
  2. 蛇形矩阵c 语言怎么写,蛇形矩阵输出是要怎么写代码,感觉没有眉目啊,大佬能说一下思想吗...
  3. [JS] - 判断IE6和IE7
  4. Python程序开发——第九章 异常处理
  5. css盒子模型圆形运用,【前端】CSS3学习笔记(三)——盒子模型
  6. java注解 源码_详解Java注解教程及自定义注解
  7. nginx RTMP FFmpeg 视频直播
  8. Artlantis studio 2021 for Mac(三维渲染工具)
  9. python清屏命令-python清屏命令
  10. Android屏幕尺寸详解
  11. Android微信搜索,微信搜索APP
  12. U盘快捷方程病毒 iexplore.vbs
  13. Linux 简介 ------ 带你简单了解Linux
  14. java excel 超链接_Java 添加超链接至Excel文档
  15. 【算法设计与分析】(6)算24点问题(回溯法)
  16. 苹果手机换android,我从苹果手机换回了安卓手机,是怎样的体验呢?
  17. ZBrush笔刷属性栏简介
  18. 2021年江苏高考生物成绩查询,2021年江苏省高考生物考试说明.docx
  19. VFP 二维数组声明和ALEN() ASCAN() AFIELD() ADEL()函数
  20. 学linux作用,linux有必要学吗?学linux有什么作用,学linux能干什么

热门文章

  1. 基于JavaWEB的网上订餐系统设计与实现
  2. html实现登录界面(附源码)
  3. ajax的列表联动示例
  4. 什么软件能抠图换背景?这些软件大家都在用
  5. 【opencv学习】opencv基础用法
  6. gs 标准不变的前提应变
  7. 论文,罗马符,阿拉伯数字,页码设置
  8. 打工随思录---过客
  9. 【超图+CESIUM】【基础API使用示例】50、超图|CESIUM - moveLeft\moveRight\moveForward\moveBackward实现运动中的碰撞检测效果
  10. html 英文字号,HTML,CSS,font-family:中文字体的英文名称 (宋体 微软雅黑)