79 lines
1.8 KiB
Go
79 lines
1.8 KiB
Go
|
|
package main
|
||
|
|
|
||
|
|
import (
|
||
|
|
"fmt"
|
||
|
|
"os"
|
||
|
|
"path/filepath"
|
||
|
|
)
|
||
|
|
|
||
|
|
func main() {
|
||
|
|
// 测试文件路径
|
||
|
|
basePath := "resources/Pure_Component/src/ui"
|
||
|
|
|
||
|
|
// 检查基础路径是否存在
|
||
|
|
if _, err := os.Stat(basePath); os.IsNotExist(err) {
|
||
|
|
fmt.Printf("基础路径不存在: %s\n", basePath)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// 获取基础路径信息
|
||
|
|
info, err := os.Stat(basePath)
|
||
|
|
if err != nil {
|
||
|
|
fmt.Printf("获取基础路径信息失败: %v\n", err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
fmt.Printf("基础路径信息:\n")
|
||
|
|
fmt.Printf(" 路径: %s\n", basePath)
|
||
|
|
fmt.Printf(" 是否为目录: %t\n", info.IsDir())
|
||
|
|
fmt.Printf(" 大小: %d 字节\n", info.Size())
|
||
|
|
fmt.Printf(" 修改时间: %s\n", info.ModTime())
|
||
|
|
|
||
|
|
// 检查权限
|
||
|
|
if info.IsDir() {
|
||
|
|
// 尝试创建测试文件
|
||
|
|
testFile := filepath.Join(basePath, "test_delete.txt")
|
||
|
|
if err := os.WriteFile(testFile, []byte("test"), 0644); err != nil {
|
||
|
|
fmt.Printf("无法在基础路径中创建文件,可能是权限问题: %v\n", err)
|
||
|
|
} else {
|
||
|
|
fmt.Printf("成功创建测试文件: %s\n", testFile)
|
||
|
|
|
||
|
|
// 尝试删除测试文件
|
||
|
|
if err := os.Remove(testFile); err != nil {
|
||
|
|
fmt.Printf("无法删除测试文件,可能是权限问题: %v\n", err)
|
||
|
|
} else {
|
||
|
|
fmt.Printf("成功删除测试文件: %s\n", testFile)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// 列出基础路径下的所有文件和文件夹
|
||
|
|
fmt.Printf("\n基础路径下的内容:\n")
|
||
|
|
err = filepath.Walk(basePath, func(path string, info os.FileInfo, err error) error {
|
||
|
|
if err != nil {
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
|
||
|
|
relPath, err := filepath.Rel(basePath, path)
|
||
|
|
if err != nil {
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
|
||
|
|
if relPath == "." {
|
||
|
|
return nil
|
||
|
|
}
|
||
|
|
|
||
|
|
if info.IsDir() {
|
||
|
|
fmt.Printf(" [目录] %s\n", relPath)
|
||
|
|
} else {
|
||
|
|
fmt.Printf(" [文件] %s (大小: %d 字节)\n", relPath, info.Size())
|
||
|
|
}
|
||
|
|
|
||
|
|
return nil
|
||
|
|
})
|
||
|
|
|
||
|
|
if err != nil {
|
||
|
|
fmt.Printf("遍历目录失败: %v\n", err)
|
||
|
|
}
|
||
|
|
}
|