Compare commits
No commits in common. "ffb706df321c8f4c53aff5658246c4be3b1ba5a3" and "e28934d7b8b778a609d86e93aca24c49ed6c7a7c" have entirely different histories.
ffb706df32
...
e28934d7b8
|
@ -25,7 +25,7 @@ func StringToFile(path, content string) error {
|
||||||
// rootDir: 文件夹根目录
|
// rootDir: 文件夹根目录
|
||||||
// s: 存储文件名的切片
|
// s: 存储文件名的切片
|
||||||
// filter: 过滤条件:".git", ".idea", ".vscode", ".gitignore", ".gitea", ".github", ".golangci.yml", "*.pyc"
|
// filter: 过滤条件:".git", ".idea", ".vscode", ".gitignore", ".gitea", ".github", ".golangci.yml", "*.pyc"
|
||||||
func FileTreeByFilter(rootDir string, s []string, filter []string) ([]string, error) {
|
func FileTree(rootDir string, s []string, filter []string) ([]string, error) {
|
||||||
rd, err := os.ReadDir(rootDir)
|
rd, err := os.ReadDir(rootDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return s, err
|
return s, err
|
||||||
|
@ -50,48 +50,7 @@ func FileTreeByFilter(rootDir string, s []string, filter []string) ([]string, er
|
||||||
|
|
||||||
if fi.IsDir() {
|
if fi.IsDir() {
|
||||||
fullDir := rootDir + "/" + fi.Name()
|
fullDir := rootDir + "/" + fi.Name()
|
||||||
s, err = FileTreeByFilter(fullDir, s, filter)
|
s, err = FileTree(fullDir, s, filter)
|
||||||
if err != nil {
|
|
||||||
return s, err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
fullName := rootDir + "/" + fi.Name()
|
|
||||||
s = append(s, fullName)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return s, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// 递归遍历文件夹
|
|
||||||
// rootDir: 文件夹根目录
|
|
||||||
// s: 存储文件名的切片
|
|
||||||
// allow: 允许条件:".zip", ".check"
|
|
||||||
func FileTreeBySelect(rootDir string, s []string, allow []string) ([]string, error) {
|
|
||||||
rd, err := os.ReadDir(rootDir)
|
|
||||||
if err != nil {
|
|
||||||
return s, err
|
|
||||||
}
|
|
||||||
for _, fi := range rd {
|
|
||||||
// 检查文件名是否匹配任何一个过滤模式
|
|
||||||
matched := false
|
|
||||||
for _, item := range allow {
|
|
||||||
exists, err := filepath.Match(item, fi.Name())
|
|
||||||
if err != nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if exists {
|
|
||||||
matched = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if !matched {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if fi.IsDir() {
|
|
||||||
fullDir := rootDir + "/" + fi.Name()
|
|
||||||
s, err = FileTreeBySelect(fullDir, s, allow)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return s, err
|
return s, err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue