一键编译go文件命令.bat , 请新建 一键编译go文件命令.bat 文件,放到你的xxx.go文件目录下
( 欢迎加入go语言群: 218160862 , 群内有实践)
@echo off :: 获取目录的名字, 用于start 目录名字.exe set dirName= goto getDirName :: 删进程文件 taskkill /f /fi "IMAGENAME eq %dirName%.exe" > nul :: 启动这2个服务以避免exe文件延迟1分钟才能删除 Application Experience和 Program Compatibility Assistant Service for /f "skip=3 tokens=4" %%i in ('sc query AeLookupSvc') do set "zt=%%i" if /i "%zt%"=="RUNNING" ( echo . ) else ( net start "AeLookupSvc" ) for /f "skip=3 tokens=4" %%i in ('sc query PcaSvc') do set "zt=%%i" if /i "%zt%"=="RUNNING" ( echo . ) else ( net start "PcaSvc" ) :: 删除旧的exe编译文件 if exist %dirName%.exe ( del %dirName%.exe ) > nul :: 执行build_go_app子程序:修改gopath环境变量、编译go程序为exe、启动编译的exe程序 goto build_go_app :: 不需要进入: %_curDisk% & ( cd %_curPath% ) :: 获取目录的名字 :getDirName set "lj=%~p0" set "lj=%lj:\= %" for %%a in (%lj%) do set wjj=%%a set dirName=%wjj% :: 编译go程序 :build_go_app echo. echo 【开始编译go程序为exe可执行文件】: :: 执行go编译 go build -ldflags=" -H windowsgui " -gcflags=" -N -l " echo 已执行编译命令: go build -ldflags=" -H windowsgui " -gcflags=" -N -l " :: 删除调试符号:go build -ldflags “-s -w” -s: 去掉符号信息。 -w: 去掉DWARF调试信息。 :: 关闭内联优化:go build -gcflags “-N -l” echo. echo. echo. :: 启动编译的程序. 成功、延时2秒消失; 失败、不消失 暂停 if exist %dirName%.exe ( ( choice /t 1 /d y /n >nul ) | ( echo ok, 编译成功! 正在打开程序 ) & ( start %dirName%.exe ) ) else ( echo 编译失败!| pause ) echo. echo.
( 欢迎加入go语言群: 218160862 , 群内有实践)
分类:
go语言
标签:
一键编译go文件命令.bat
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 继承的思维:从思维模式到架构设计的深度解析
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· Cursor预测程序员行业倒计时:CTO应做好50%裁员计划
· 想让你多爱自己一些的开源计时器
· 大模型 Token 究竟是啥:图解大模型Token
· 用99元买的服务器搭一套CI/CD系统
· 当职场成战场:降职、阴谋与一场硬碰硬的抗争