增加创建目录方法
This commit is contained in:
		
							
								
								
									
										57
									
								
								dir.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								dir.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,57 @@ | |||||||
|  | // Package command ... | ||||||
|  | // | ||||||
|  | // Description : command ... | ||||||
|  | // | ||||||
|  | // Author : go_developer@163.com<白茶清欢> | ||||||
|  | // | ||||||
|  | // Date : 2022-05-21 17:31 | ||||||
|  | package command | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"strings" | ||||||
|  |  | ||||||
|  | 	"git.zhangdeman.cn/zhangdeman/command/define" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | // Dir 目录操作实例 | ||||||
|  | // | ||||||
|  | // Author : go_developer@163.com<白茶清欢> | ||||||
|  | // | ||||||
|  | // Date : 17:33 2022/5/21 | ||||||
|  | func Dir(workDir string) *dir { | ||||||
|  | 	return &dir{ | ||||||
|  | 		workDir: workDir, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type dir struct { | ||||||
|  | 	workDir         string // 工作目录 | ||||||
|  | 	recursiveCreate bool   // 创建目录时,是否递归创建 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // RecursiveCreate 递归创建目录 | ||||||
|  | // | ||||||
|  | // Author : go_developer@163.com<白茶清欢> | ||||||
|  | // | ||||||
|  | // Date : 17:37 2022/5/21 | ||||||
|  | func (d *dir) RecursiveCreate() *dir { | ||||||
|  | 	d.recursiveCreate = true | ||||||
|  | 	return d | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Create 创建目录, 若 dirPath 以 / 开头, 则为据对路径, 否则是相对 workDir 的相对路径 | ||||||
|  | // | ||||||
|  | // Author : go_developer@163.com<白茶清欢> | ||||||
|  | // | ||||||
|  | // Date : 17:42 2022/5/21 | ||||||
|  | func (d *dir) Create(dirPath string) define.Result { | ||||||
|  | 	if !strings.HasPrefix(dirPath, "/") { | ||||||
|  | 		dirPath = strings.ReplaceAll(d.workDir, "//", "/") | ||||||
|  | 	} | ||||||
|  | 	paramList := make([]string, 0) | ||||||
|  | 	if d.recursiveCreate { | ||||||
|  | 		paramList = append(paramList, "-p") | ||||||
|  | 	} | ||||||
|  | 	paramList = append(paramList, dirPath) | ||||||
|  | 	return Execute(d.workDir, "mkdir", paramList) | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user