// npklist 列出 NPK/PVF 归档里的成员路径,便于确认图片资源在哪个归档。 package main import ( "flag" "fmt" "strings" platformpvf "longheng.io/server/internal/platform/pvf" ) func main() { path := flag.String("file", "", "NPK/PVF 路径") filter := flag.String("grep", "", "只列出路径含该子串的成员(大小写不敏感)") limit := flag.Int("limit", 200, "最多列出多少条") flag.Parse() if *path == "" { panic("-file is required") } archive, err := platformpvf.Open(*path) if err != nil { panic(err) } fmt.Printf("文件 %s 格式 %v 成员 %d\n", *path, archive.Format(), archive.FileCount()) needle := strings.ToLower(*filter) shown := 0 archive.RangePaths(func(p string) bool { if needle != "" && !strings.Contains(strings.ToLower(p), needle) { return true } fmt.Println(" " + p) shown++ return shown < *limit }) fmt.Printf("列出 %d 条\n", shown) }