exe c .command - CMD.exe - Запрос из командной строки - PullRequest
1 голос
/ 06 апреля 2020

Я с моим первым проектом. Это небольшая программа, написанная на GO, которая будет работать на Windows. Это должно сделать запрос к свободному программному обеспечению через командную строку в CMD.

До сих пор мне удалось запустить cmd.exe и поместить терминал в путь к программе, но я не могу получить командную строку быть вставленным для того, чтобы сделать запрос. Я не могу найти инструкцию для него.

Я не знаю, что мне не хватает - это правильно написать запрос - в соответствии с Windows - или это вопрос лучшего формулирования программирования в Go. Я спрашиваю, можете ли вы помочь мне. Спасибо!

Это код:

package main

import (
    "log"
    "os/exec"
)

func main() {
    cmd := exec.Command(
        "cmd.exe", 
        "/K",      
        "start",   
    )

         cmd.Dir = "C:/sweph"


//command line to call program: swetest64 -p2 -b1.12.1900 -n15 -s2


    err := cmd.Start()
    if err != nil {
        log.Fatal(err)
    }
}

Ответы [ 2 ]

1 голос
/ 06 апреля 2020

Я думаю, что код абсолютно в порядке. Программа "swetest64 -p2 -b1.12.1900 -n15 -s2", которую вы вызываете, возвращает ненулевой код выхода.

Любой ненулевой код выхода обрабатывается как ошибка, которая выводится после вызова cmd.Run().

Так что нет проблема с вашим кодом. Проверьте программу, которую вы вызываете.

1 голос
/ 06 апреля 2020
cmd := exec.Command("cmd", "/c", "swetest64 -p2 -b1.12.1900 -n15 -s2") 

err := cmd.Run()
if err != nil {
  log.Fatalf("run error: %v\n", err)
}
...