Как выполнить простую команду Windows в Golang? - программирование
Подтвердить что ты не робот

Как выполнить простую команду Windows в Golang?

Как запустить простую команду Windows?

Эта команда:

exec.Command("del", "c:\\aaa.txt")

.. выводит это сообщение:

del: исполняемый файл не найден в% path%

Что я делаю неправильно?

4b9b3361

Ответ 1

Я получил ту же ошибку, что и вы. Но dystroy прав: вы не можете запустить del или любую другую команду, встроенную в cmd, потому что нет файла del.exe (или любого другого del-executable, если на то пошло).

Я получил его для работы с:

package main

import(
    "fmt"
    "os/exec"
)

func main(){    
    c := exec.Command("cmd", "/C", "del", "D:\\a.txt")

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

Ответ 2

Вам нужен Windows cmd для выполнения вашей команды dir.

Попробуй это:

cmd := exec.Command("cmd", "/C", "dir").Output()

(извините, сейчас нет компьютера с Windows, чтобы проверить это)

Ответ 3

В случае, если вам нужен вывод cmd:

if c, err := exec.Command("cmd","/c","del","a.txt").CombinedOutput(); err != nil {
        log.Fatal(err)
    } else {
        fmt.Printf("%s\n", c)
    }

Ответ 4

Нашел еще одно решение. Создайте командный файл, который содержит следующее: del c:\aaa.txt

Затем назовите его следующим образом:

exec.Command("c:\\del.bat").Run()