Как выполнить простую команду Windows в Golang?
Как запустить простую команду Windows?
Эта команда:
exec.Command("del", "c:\\aaa.txt")
.. выводит это сообщение:
del: исполняемый файл не найден в% path%
Что я делаю неправильно?
Ответы
Ответ 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()