|
@@ -8,16 +8,11 @@ import (
|
|
|
"strings"
|
|
|
)
|
|
|
|
|
|
-func CreateDir(directory string) error {
|
|
|
- // 检查目录是否存在
|
|
|
+// CreateDir 创建目录
|
|
|
+func CreateDir(directory string) {
|
|
|
if _, err := os.Stat(directory); os.IsNotExist(err) {
|
|
|
- // 如果目录不存在,创建父目录
|
|
|
- err := os.MkdirAll(directory, os.ModePerm)
|
|
|
- if err != nil {
|
|
|
- return err
|
|
|
- }
|
|
|
+ _ = os.MkdirAll(directory, os.ModePerm)
|
|
|
}
|
|
|
- return nil
|
|
|
}
|
|
|
|
|
|
// CreateParentDir 存在不创建,不存在则创建父目录
|
|
@@ -64,6 +59,38 @@ func RemoveDir(dirPath string) error {
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
+// RemoveSubFiles 递归删除目录及其下的所有文件和子目录
|
|
|
+func RemoveSubFiles(dirPath string) error {
|
|
|
+ // 打开目录
|
|
|
+ dir, err := os.Open(dirPath)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ defer dir.Close()
|
|
|
+ // 读取目录下的文件和子目录
|
|
|
+ fileInfos, err := dir.Readdir(-1)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ // 遍历文件和子目录
|
|
|
+ for _, fileInfo := range fileInfos {
|
|
|
+ path := filepath.Join(dirPath, fileInfo.Name())
|
|
|
+
|
|
|
+ if fileInfo.IsDir() {
|
|
|
+ // 如果是子目录,递归调用removeDir删除子目录及其下的文件和子目录
|
|
|
+ if err = RemoveDir(path); err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 如果是文件,直接删除文件
|
|
|
+ if err = os.Remove(path); err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
func WriteFile(sourceContent string, targetFilePath string) error {
|
|
|
if err := CreateFile(targetFilePath); err != nil {
|
|
|
return err
|