一鍵編譯go文件命令.bat , 請新建 一鍵編譯go文件命令.bat 文件,放到你的xxx.go文件目錄下
golang
( 歡迎加入go語言羣: 218160862 , 羣內有實踐)windows
@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 , 羣內有實踐)優化