Ai
1 Star 0 Fork 0

by-fate/program

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
program.go 1004 Bytes
一键复制 编辑 原始数据 按行查看 历史
by-fate 提交于 2023-12-06 20:02 +08:00 . first commit
package program
import (
"errors"
"os"
"os/exec"
"path/filepath"
"strings"
)
// GetProgramInfo 获取当前程序信息
func GetProgramInfo() (string, error) {
file, err := exec.LookPath(os.Args[0])
if err != nil {
return "", err
}
path, err := filepath.Abs(file)
if err != nil {
return "", err
}
return path, nil
}
// GetProgramName 获取当前程序名
func GetProgramName() (string, error) {
path, err := GetProgramInfo()
if err != nil {
return "", err
}
i := strings.LastIndex(path, "/")
if i < 0 {
i = strings.LastIndex(path, "\\")
}
if i < 0 {
return "", errors.New(`error: Can't find "/" or "\"`)
}
return path[i+1:], nil
}
// GetProgramPath 获取当前程序路径
func GetProgramPath() (string, error) {
path, err := GetProgramInfo()
if err != nil {
return "", err
}
i := strings.LastIndex(path, "/")
if i < 0 {
i = strings.LastIndex(path, "\\")
}
if i < 0 {
return "", errors.New(`error: Can't find "/" or "\"`)
}
return path[0 : i+1], nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/by-fate/program.git
git@gitee.com:by-fate/program.git
by-fate
program
program
v0.1.4

搜索帮助