Added function for recursive file copy
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user