Maison >développement back-end >Golang >Comment exécuter des commandes Windows (comme « del ») depuis Golang ?

Comment exécuter des commandes Windows (comme « del ») depuis Golang ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-08 12:04:14284parcourir

How to Execute Windows Commands (like `del`) from Golang?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn