Added function for recursive file copy

This commit is contained in:
Gregory Kurtzer
2021-02-24 21:00:41 -08:00
parent 3998dff021
commit 8f049f9ba4

View File

@@ -8,6 +8,7 @@ import (
"math/rand"
"os"
"os/exec"
"path"
"path/filepath"
"regexp"
"time"
@@ -88,6 +89,40 @@ func CopyFile(source string, dest string) error {
return destFD.Close()
}
func CopyFiles(source string, dest string) error {
err := filepath.Walk(source, func(location string, info os.FileInfo, err error) error {
if err != nil {
return err
}
if info.IsDir() {
wwlog.Printf(wwlog.DEBUG, "Creating directory: %s\n", location)
err := os.MkdirAll(path.Join(dest, location), info.Mode())
if err != nil {
return err
}
} else {
wwlog.Printf(wwlog.DEBUG, "Writing file: %s\n", location)
err := CopyFile(location, path.Join(dest, location))
if err != nil {
return err
}
}
return nil
})
if err != nil {
return err
}
return nil
}
//TODO: func CopyRecursive ...
func IsDir(path string) bool {