Ausführen von Windows-Befehlen in Golang: Fehlerbehebung beim Fehler „Ausführbare Datei „del“ nicht gefunden“
Ihr Versuch, den Befehl „del“ mit exec auszuführen. Der Befehl („del“, „c:\aaa.txt“) in Golang führte zu einer Fehlermeldung, die darauf hinweist, dass die ausführbare Datei nicht gefunden wurde im Systempfad.
Im Gegensatz zu anderen Betriebssystemen verfügt Windows über integrierte Befehle, die nicht als eigenständige ausführbare Dateien verfügbar sind. Diese Befehle werden über die Eingabeaufforderung (cmd.exe) ausgeführt. Um diese Befehle in Golang auszuführen, müssen Sie das Präfix „cmd /c“ verwenden.
Der folgende Codeausschnitt zeigt, wie Sie den „del“-Befehl in Windows mit Golang korrekt ausführen:
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) } }
In diesem Codeausschnitt:
Dieser Code führt den Befehl „del“ in Windows korrekt aus und löscht die angegebene Datei, während der vorherige Versuch dies direkt versucht „del“ ausführen würde fehlschlagen.
Das obige ist der detaillierte Inhalt vonWarum schlägt `exec.Command('del', ...) ` in Golang unter Windows fehl und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!