Maison >développement back-end >Golang >Comment exécuter des commandes Windows intégrées comme « del » dans Golang ?

Comment exécuter des commandes Windows intégrées comme « del » dans Golang ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-24 17:43:101038parcourir

How to Execute Built-in Windows Commands Like

Exécution de commandes Windows dans Golang

Lorsque vous tentez d'exécuter une commande Windows simple telle que "del c:aaa.txt" à l'aide de "exec.Command", les utilisateurs peuvent rencontrez une erreur indiquant que le fichier exécutable est introuvable dans le chemin système. Cette erreur se produit car certaines commandes, comme « del », sont intégrées à l'interpréteur de commandes Windows (cmd.exe) et ne disposent pas de fichiers exécutables autonomes.

Solution

Pour exécuter ces commandes intégrées. dans les commandes en Golang, l'approche suivante peut être adoptée :

  1. Cross-Platform Manipulation : Vérifiez le système d'exploitation actuel à l'aide de runtime.GOOS.
  2. Windows : Pour les systèmes Windows, utilisez exec.Command("cmd", "/C", command) pour exécutez la commande souhaitée via l'interpréteur de commandes.
  3. Mac/Linux : pour les systèmes Mac et Linux, exécutez la commande directement en utilisant exec.Command("command").

Voici un extrait de code modifié qui intègre cette solution :

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:
        c = exec.Command("rm", "-f", "D:\a.txt")
    }

    if err := c.Run(); err != nil {
        fmt.Println("Error:", err)
    }
}

En utilisant cette approche, vous pourrez exécuter Windows build- dans les commandes avec succès dans Golang, même celles sans fichiers exécutables autonomes.

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