summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/util/util_windows.go18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/util/util_windows.go b/src/util/util_windows.go
index cbaa8ce0..e0ab9e3a 100644
--- a/src/util/util_windows.go
+++ b/src/util/util_windows.go
@@ -57,10 +57,20 @@ func (x *Executor) ExecCommand(command string, setpgid bool) *exec.Cmd {
}
x.shellPath.Store(shell)
}
- cmd := exec.Command(shell, append(x.args, command)...)
- cmd.SysProcAttr = &syscall.SysProcAttr{
- HideWindow: false,
- CreationFlags: 0,
+ var cmd *exec.Cmd
+ if strings.Contains(shell, "cmd") {
+ cmd = exec.Command(shell)
+ cmd.SysProcAttr = &syscall.SysProcAttr{
+ HideWindow: false,
+ CmdLine: fmt.Sprintf(`%s "%s"`, strings.Join(x.args, " "), command),
+ CreationFlags: 0,
+ }
+ } else {
+ cmd = exec.Command(shell, append(x.args, command)...)
+ cmd.SysProcAttr = &syscall.SysProcAttr{
+ HideWindow: false,
+ CreationFlags: 0,
+ }
}
return cmd
}