搜索
开启辅助访问切换到窄版
查看: 62|回复: 0

[Golang] Golang 拷贝目录

[复制链接]

35

主题

287

学分

0

好友

管理员

Rank: 9Rank: 9Rank: 9

积分
287
发表于 2018-10-5 16:10:15 | 显示全部楼层 |阅读模式
  1. //拷贝目录
  2. //@param                                source                        源目录
  3. //@param                                dst                                目标目录
  4. //@return                                err                                错误
  5. func CopyDir(source, dst string) (err error) {
  6.         var b []byte
  7.         source = filepath.ToSlash(strings.TrimPrefix(source, "./"))
  8.         err = filepath.Walk(source, func(path string, info os.FileInfo, err error) error {
  9.                 if err == nil {
  10.                         beego.Info(path)
  11.                         path = filepath.ToSlash(path)
  12.                         dstPath := filepath.Join(dst, strings.TrimPrefix(path, source))
  13.                         if !info.IsDir() {
  14.                                 dstDir := filepath.Dir(dstPath)
  15.                                 if _, errDir := os.Stat(dstDir); errDir != nil {
  16.                                         os.MkdirAll(dstDir, os.ModePerm)
  17.                                 }
  18.                                 beego.Info(path, dstPath)
  19.                                 if b, err = ioutil.ReadFile(path); err == nil {
  20.                                         err = ioutil.WriteFile(dstPath, b, os.ModePerm)
  21.                                 }
  22.                         }
  23.                 }
  24.                 return err
  25.         })
  26.         return
  27. }
复制代码


阿Q问答,程序员专属知识问答平台!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

阿Q问答

程序员专属知识问答平台!

关于我们

Archiver|手机版|小黑屋|阿Q问答  

Powered by Discuz! X3.3 © 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表