Exécuter des commandes Windows à partir de Golang
Lors de la tentative d'exécution d'une simple commande Windows à l'aide de exec.Command("del", "c:\ aaa.txt"), vous pouvez rencontrer une erreur indiquant que le fichier exécutable de la commande est introuvable dans le chemin.
La raison de cela L'erreur est que les commandes Windows telles que del sont intégrées au shell cmd et ne disposent pas de leurs propres fichiers exécutables autonomes. Pour exécuter ces commandes dans Golang, vous devez appeler le shell cmd et transmettre la commande en argument.
Pour résoudre le problème, l'extrait de code suivant peut être utilisé :
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) } }
Ce code vérifie le système d'exploitation et exécute soit la commande del sous Windows, soit la commande rm sur d'autres systèmes d'exploitation, en passant le chemin du fichier souhaité comme argument.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!