2017-05-26 2 views
-1

Ich möchte mit Golang und Exec-Bibliothek zu einem bestimmten Pfad "c: \" gehen und eine EXE-Datei ausführen.Golang Ausführen von CD-Befehl für CMD

, wenn ich meinen gehen Code ausführen es gibt mir:

exec: „cd: /“: Datei nicht

existiert
+2

Es wäre hilfreich für andere, wenn Sie Ihren Code freigegeben haben. – squiguy

Antwort

1

Der Befehl cd ist ein integrierter Bestandteil Ihrer Shell, egal ob bash, cmd.exe, PowerShell oder anders. Sie würden keinen cd Befehl ausführen und dann das Programm ausführen, das Sie ausführen möchten. Stattdessen möchten Sie die Dir der einzustellen Cmd Sie gehen in das Verzeichnis, das Programm auszuführen:

package main 

import (
    "fmt" 
    "log" 
    "os/exec" 
) 

func main() { 
    cmd := exec.Command("program") // or whatever the program is 
    cmd.Dir = "C:/usr/bin"   // or whatever directory it's in 
    out, err := cmd.Output() 
    if err != nil { 
     log.Fatal(err) 
    } else { 
     fmt.Printf("%s", out); 
    } 
} 

die Cmd documentation für weitere Informationen. Alternativ könnten Sie os/Chdir verwenden, um das Arbeitsverzeichnis vor dem Ausführen des Programms zu ändern.

1

Sie das anfängliche Arbeitsverzeichnis geben Sie den Befehl in dem Cmd Objekt auszuführen:

cmd.Dir = "C:\\" 

Siehe die documentation on the Cmd Struktur für weitere Details.

Verwandte Themen