1
제 3 자 실행 파일을 동적 플래그 (서버 설정 및 일부 하드웨어 사양에 따라 다르므로 각 컴퓨터마다 다를 수 있음)로 실행 해 달라는 Go를 약간 해킹했습니다.Go에서 제 3 자 바이너리 실행
나는 어떤 경로가 Go 실행 파일에 있는지 찾아 내는데 도움이되는 깔끔한 라이브러리를 사용하고 있습니다. 타사 바이너리는 Go와 같은 폴더에 있습니다. 명령이라는 단일 문자열로 경로와 플래그를 넣어의 FMT의 Sprintf
방법을 실행 I보다
path, err := osext.ExecutableFolder()
if err != nil {
log.Fatal(err)
}
path += "3rdparty.exe"
.
나는 그렇게처럼 호출 할 :
out, err := exec.Command(Command).Output()
if err != nil {
fmt.Println("Command execution failed:", err)
}
그러나 잘못
이 전무 없습니다. 나는 (단지 컴파일 및 테스트하기 위해이 설정 창) VM웨어에서 오류를 복사 할 수 있지만, 같은 간다 :Command execution failed: "C:\\PATH\\TO\\3rdparty.exe --flags-omitted" file does not exist
을 그러나 내가 cmd를에 C:\\PATH\\TO\\3rdparty.exe --flags-omitted
을 복사 할 때 완벽하게 실행됩니다.
아이디어가 있으십니까?
음을 주셔서 감사합니다. –