一鍵編譯go文件命令.bat

一鍵編譯go文件命令.bat    , 請新建 一鍵編譯go文件命令.bat    文件,放到你的xxx.go文件目錄下
golang

 ( 歡迎加入go語言羣: 218160862 , 羣內有實踐)windows

點擊加入 go語言深圳羣 golang深圳app

 

@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 , 羣內有實踐)優化

相關文章
相關標籤/搜索