func appendContent(shell *winrm.Shell, filePath, content string) error { cmd, err := shell.Execute(fmt.Sprintf("echo %s >> \"%s\"", content, filePath)) if err != nil { return err } defer cmd.Close() var wg sync.WaitGroup copyFunc := func(w io.Writer, r io.Reader) { defer wg.Done() io.Copy(w, r) } wg.Add(2) go copyFunc(os.Stdout, cmd.Stdout) go copyFunc(os.Stderr, cmd.Stderr) cmd.Wait() wg.Wait() if cmd.ExitCode() != 0 { return errors.New(fmt.Sprintf("upload operation returned code=%d", cmd.ExitCode())) } return nil }
func appendContent(shell *winrm.Shell, filePath, content string) error { cmd, err := shell.Execute(fmt.Sprintf("echo %s >> \"%s\"", content, filePath)) if err != nil { return err } defer cmd.Close() go io.Copy(os.Stdout, cmd.Stdout) go io.Copy(os.Stderr, cmd.Stderr) cmd.Wait() if cmd.ExitCode() != 0 { return errors.New(fmt.Sprintf("upload operation returned code=%d", cmd.ExitCode())) } return nil }