Ich möchte mit Golang und Exec-Bibliothek zu einem bestimmten Pfad "c: \" gehen und eine EXE-Datei ausführen.Golang Ausführen von CD-Befehl für CMD
, wenn ich meinen gehen Code ausführen es gibt mir:
exec: „cd: /“: Datei nicht
existiertIch möchte mit Golang und Exec-Bibliothek zu einem bestimmten Pfad "c: \" gehen und eine EXE-Datei ausführen.Golang Ausführen von CD-Befehl für CMD
, wenn ich meinen gehen Code ausführen es gibt mir:
exec: „cd: /“: Datei nicht
existiertDer Befehl cd
ist ein integrierter Bestandteil Ihrer Shell, egal ob bash, cmd.exe, PowerShell oder anders. Sie würden keinen cd
Befehl ausführen und dann das Programm ausführen, das Sie ausführen möchten. Stattdessen möchten Sie die Dir
der einzustellen Cmd
Sie gehen in das Verzeichnis, das Programm auszuführen:
package main
import (
"fmt"
"log"
"os/exec"
)
func main() {
cmd := exec.Command("program") // or whatever the program is
cmd.Dir = "C:/usr/bin" // or whatever directory it's in
out, err := cmd.Output()
if err != nil {
log.Fatal(err)
} else {
fmt.Printf("%s", out);
}
}
die Cmd documentation für weitere Informationen. Alternativ könnten Sie os/Chdir verwenden, um das Arbeitsverzeichnis vor dem Ausführen des Programms zu ändern.
Sie das anfängliche Arbeitsverzeichnis geben Sie den Befehl in dem Cmd
Objekt auszuführen:
cmd.Dir = "C:\\"
Siehe die documentation on the Cmd Struktur für weitere Details.
Es wäre hilfreich für andere, wenn Sie Ihren Code freigegeben haben. – squiguy