转载:http://blog.csdn.net/liqiangeastsun/article/details/42124283
//遍历所选文件夹,查找该文件夹以及子文件夹中 后缀为 .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);
}
}
}
}