U3D技术采集Unity基础

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

2017-03-17  本文已影响38人  游戏开发小Y
//遍历所选文件夹,查找该文件夹以及子文件夹中 后缀为 .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);
            }
        }
    }
}

上一篇 下一篇

猜你喜欢

热点阅读