github.com/henvic/wedeploycli@v1.7.6-0.20200319005353-3630f582f284/deployment/internal/copypkg/copypkg_windows.go (about)

     1  // +build windows
     2  
     3  package copypkg
     4  
     5  import (
     6  	"context"
     7  	"os"
     8  	"os/exec"
     9  )
    10  
    11  // Copy file or directory.
    12  func Copy(ctx context.Context, src, dest string) error {
    13  	_, err := os.Stat(dest)
    14  
    15  	if os.IsNotExist(err) {
    16  		err = os.Mkdir(dest, 0700)
    17  	}
    18  
    19  	if err != nil {
    20  		return err
    21  	}
    22  
    23  	cmd := exec.CommandContext(ctx, "robocopy", src, dest)
    24  	cmd.Stderr = os.Stderr
    25  	return cmd.Run()
    26  }