美文网首页U3D技术采集Unity基础
Unity遍历所选文件夹中包含某后缀名的文件路径

Unity遍历所选文件夹中包含某后缀名的文件路径

作者: 游戏开发小Y | 来源:发表于2017-03-17 13:45 被阅读38次
//遍历所选文件夹,查找该文件夹以及子文件夹中 后缀为 .prefab的文件路径

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using System.IO;

public class CameraMove : MonoBehaviour {
    // 在菜单来创建 选项 , 点击该选项执行搜索代码
    [MenuItem("Tools/遍历项目所有文件夹")]
    static void CheckSceneSetting()
    {
        List<string> dirs = new List<string>();
        GetDirs(Application.dataPath, ref dirs);
    }
    //参数1 为要查找的总路径, 参数2 保存路径
    private static void GetDirs(string dirPath, ref List<string> dirs)
    {
        foreach (string path in Directory.GetFiles(dirPath))
        {
            //获取所有文件夹中包含后缀为 .prefab 的路径
            if (System.IO.Path.GetExtension(path) == ".prefab")
            {
                dirs.Add(path.Substring(path.IndexOf("Assets")));
                Debug.Log(path.Substring(path.IndexOf("Assets")));
            }
        }

        if (Directory.GetDirectories(dirPath).Length > 0)  //遍历所有文件夹
        {
            foreach (string path in Directory.GetDirectories(dirPath))
            {
                GetDirs(path, ref dirs);
            }
        }
    }
}

相关文章

网友评论

    本文标题:Unity遍历所选文件夹中包含某后缀名的文件路径

    本文链接:https://www.haomeiwen.com/subject/wosenttx.html