Linux系统下打成tar.gz包发到Windows系统下然后解压后,由于tar.gz的一些特性Windows下的解压软件支持的不好导致每个文件夹下都有 PaxHeader 文件夹 就写了个递归删除的代码
package main
import (
"fmt"
"os"
"path/filepath"
)
func delFilelist(path string) {
err := filepath.Walk(path, func(path string, f os.FileInfo, err error) error {
if ( f == nil ) {
return nil //f为空 错误不为空 错误是文件不存在 可以忽略
}
if f.IsDir() {
if f.Name() == "PaxHeader" {
err := os.RemoveAll(path)
if err != nil {
fmt.Println(err)
}
fmt.Printf("删除文件PaxHeader %s \n" ,path)
}
return nil
}
// println(path)
return nil
})
if err != nil {
fmt.Printf("walk 错误 err: %v\n", err)
}
}
func main(){
root := "D:/mygo/src"
delFilelist(root)
}
有疑问加站长微信联系(非本文作者)