Unity 获取指定文件夹下所有文件路径 - 详细教程和代码示例

想要在Unity编辑器中获取某个文件夹下所有文件的路径?您可以使用Unity的AssetDatabase类和AssetDatabase.FindAssets方法来获取所有文件的GUID,然后使用AssetDatabase.GUIDToAssetPath方法将GUID转换为文件路径。

代码示例:

using UnityEditor;
using UnityEngine;

public class GetAllFilesInFolder : EditorWindow
{
    [MenuItem('Window/Get All Files In Folder')]
    public static void ShowWindow()
    {
        EditorWindow.GetWindow(typeof(GetAllFilesInFolder));
    }

    private void OnGUI()
    {
        if (GUILayout.Button('Get All Files'))
        {
            string folderPath = 'Assets/MyFolder';
            string[] guids = AssetDatabase.FindAssets('', new[] { folderPath });
            foreach (string guid in guids)
            {
                string assetPath = AssetDatabase.GUIDToAssetPath(guid);
                Debug.Log(assetPath);
            }
        }
    }
}

操作步骤:

  1. 将代码复制到您的Unity项目中,创建一个新的脚本并粘贴代码。
  2. 在Unity编辑器中选择 Window -> Get All Files In Folder,打开该脚本的窗口。
  3. 点击 Get All Files 按钮,您将在Console窗口中看到所有文件的路径。

代码说明:

  • AssetDatabase.FindAssets('', new[] { folderPath }):使用FindAssets方法查找指定文件夹下的所有文件,并返回一个包含所有文件GUID的字符串数组。
  • AssetDatabase.GUIDToAssetPath(guid):使用GUIDToAssetPath方法将每个GUID转换为对应的文件路径。

其他用途:

除了获取文件路径,该代码还可以用于:

  • 遍历文件夹下的所有文件,进行特定操作,例如修改文件内容或删除文件。
  • 查找特定类型的文件,例如所有.txt文件或所有.png文件。

希望这份教程对您有所帮助!

Unity 获取指定文件夹下所有文件路径 - 详细教程和代码示例

原文地址: https://www.cveoy.top/t/topic/nVD2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录