不知道如何获取 Project 下选中文件夹的同学先看这篇 获取 Project 下选中文件夹
在 Editor 文件夹中新建脚本 FileSeachWithExtension.cs
using UnityEngine;
using UnityEditor;
using System.IO;
public class FileSeachWithExtension
{
private static string _extension = "*.png";
[MenuItem("Assets/FileSeachWithExtension")]
static void Search()
{
// 获取所有选中 文件、文件夹的 GUID
string[] guids = Selection.assetGUIDs;
foreach (var guid in guids)
{
// 将 GUID 转换为 路径
string assetPath = AssetDatabase.GUIDToAssetPath(guid);
// 判断是否文件夹
if (Directory.Exists(assetPath))
{
SearchDirectory(assetPath);
}
}
}
static void SearchDirectory(string directory)
{
DirectoryInfo dInfo = new DirectoryInfo(directory);
// 获取 文件夹以及子文件加中所有扩展名为 _extension 的文件
FileInfo[] fileInfoArr = dInfo.GetFiles(_extension, SearchOption.AllDirectories);
for (int i = 0; i < fileInfoArr.Length; ++i)
{
string fullName = fileInfoArr[i].FullName;
Debug.Log(fullName);
}
}
}
在 Assets 文件夹下任选一个、多个文件夹,鼠标右键的弹出面板中点击 FileSeachWithExtension 按钮