I can use this out, err := exec.Command("git", "log").Output()
to get an output of the command which will run in the same path as the executable location.
How do I specify in which folder I want to run the command?
To access that special folder, open the Run dialog and type the Shell command, followed by the Shell folder name. Continuing with the above example, you would type shell:AccountPictures in the Open text box, as shown in Figure E.
To change directories, use the command cd followed by the name of the directory (e.g. cd downloads ). Then, you can print your current working directory again to check the new path.
exec.Command()
returns you a value of type *exec.Cmd
. Cmd
is a struct and has a Dir
field:
// Dir specifies the working directory of the command. // If Dir is the empty string, Run runs the command in the // calling process's current directory. Dir string
So simply set it before calling Cmd.Output()
:
cmd:= exec.Command("git", "log") cmd.Dir = "your/intended/working/directory" out, err := cmd.Output()
Also note that this is specific to git
command; git
allows you to pass the path using the -C
flag, so you may also do what you want like this:
out, err := exec.Command("git", "-C", "your/intended/working/directory", "log"). Output()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With