Unity 获取指定文件夹下所有文件路径 - 详细教程和代码示例
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);
}
}
}
}
操作步骤:
- 将代码复制到您的Unity项目中,创建一个新的脚本并粘贴代码。
- 在Unity编辑器中选择 Window -> Get All Files In Folder,打开该脚本的窗口。
- 点击 Get All Files 按钮,您将在Console窗口中看到所有文件的路径。
代码说明:
AssetDatabase.FindAssets('', new[] { folderPath }):使用FindAssets方法查找指定文件夹下的所有文件,并返回一个包含所有文件GUID的字符串数组。AssetDatabase.GUIDToAssetPath(guid):使用GUIDToAssetPath方法将每个GUID转换为对应的文件路径。
其他用途:
除了获取文件路径,该代码还可以用于:
- 遍历文件夹下的所有文件,进行特定操作,例如修改文件内容或删除文件。
- 查找特定类型的文件,例如所有.txt文件或所有.png文件。
希望这份教程对您有所帮助!
原文地址: https://www.cveoy.top/t/topic/nVD2 著作权归作者所有。请勿转载和采集!