Windows-Befehle von Golang ausführen
Beim Versuch, einen einfachen Windows-Befehl mit exec.Command("del", "c:\" auszuführen aaa.txt"), kann es zu einem Fehler kommen, der darauf hinweist, dass die ausführbare Datei für den Befehl nicht in der Datei gefunden wurde Pfad.
Der Grund für diesen Fehler ist, dass Windows-Befehle wie del in die cmd-Shell integriert sind und keine eigenen eigenständigen ausführbaren Dateien haben. Um diese Befehle in Golang auszuführen, müssen Sie die cmd-Shell aufrufen und den Befehl als Argument übergeben.
Um das Problem zu beheben, kann das folgende Code-Snippet verwendet werden:
package main import ( "fmt" "os/exec" "runtime" ) func main() { var c *exec.Cmd switch runtime.GOOS { case "windows": c = exec.Command("cmd", "/C", "del", "D:\a.txt") default: // Mac & Linux c = exec.Command("rm", "-f", "/d/a.txt") } if err := c.Run(); err != nil { fmt.Println("Error:", err) } }
Dieser Code überprüft das Betriebssystem und führt entweder den Befehl del unter Windows oder den Befehl rm unter anderen Betriebssystemen aus und übergibt dabei den gewünschten Dateipfad als Argument.
Das obige ist der detaillierte Inhalt vonWie führe ich Windows-Befehle (wie „del') von Golang aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!