標準愚痴出力

個人的なIT作業ログです。もしかしたら一般的に参考になることが書いているかもしれません(弱気

go get でインストールされる実行ファイル置き場をバッチファイルで得る

%GOPATH%\bin と書いてしまいがちだが

  • %GOPATH% が未定義の時
    • %USERPROFILE%\go が代替として使われる
  • %GOPATH% に複数のディレクトリが登録されている時

ので、一工夫必要だ。

@echo off

setlocal

if "%GOPATH%" == "" (
    set "DIR=%USERPROFILE%\go"
) else (
    set "DIR=%GOPATH%"
)

for /F "delims=;" %%I in ("%DIR%") do set "GOBIN=%%I\bin"

echo GOBIN=%GOBIN%

endlocal

思ったほど大した工夫は要らなかった…