Escape special characters

This commit is contained in:
Ryooooooga 2021-10-12 21:08:32 +09:00 committed by Jesse Duffield
parent 2dc8396deb
commit 92f03a7872

View file

@ -202,7 +202,13 @@ func (c *OSCommand) ShellCommandFromString(commandStr string) *exec.Cmd {
quotedCommand := ""
// Windows does not seem to like quotes around the command
if c.Platform.OS == "windows" {
quotedCommand = strings.Replace(commandStr, "&", "^&", -1)
quotedCommand = commandStr
quotedCommand = strings.Replace(quotedCommand, "^", "^^", -1)
quotedCommand = strings.Replace(quotedCommand, "&", "^&", -1)
quotedCommand = strings.Replace(quotedCommand, "|", "^|", -1)
quotedCommand = strings.Replace(quotedCommand, "<", "^<", -1)
quotedCommand = strings.Replace(quotedCommand, ">", "^>", -1)
quotedCommand = strings.Replace(quotedCommand, "%", "^%", -1)
} else {
quotedCommand = c.Quote(commandStr)
}