Unity 编辑器中获取选中的文件夹、文件路径
1.Unity学习笔记--基础2.Unity学习笔记--入门3.Unity学习笔记--数据持久化之PlayerPrefs的使用4.Unity学习笔记--数据持久化XML文件(1)5.Unity学习笔记--数据持久化XML文件(2)6.Unity学习笔记--数据持久化Json7.NGUI学习笔记(1)8.NGUI学习笔记29.NGUI学习笔记3.510.NGUI学习笔记4.011.Unity 热更--AssetBundle学习笔记 0.712.Unity 热更--AssetBundle学习笔记 0.813.Unity 热更--AssetBundle学习笔记 1.0【AB包资源加载工具类的实现】14.[2]自定义Lua解析方式15.Unity热更学习toLua使用--[1]toLua的导入和默认加载执行lua脚本16.自定义Lua解析器管理器-------演化脚本V0.517.使用自定义委托来调用Lua中的多返回值和长参数类型函数18.使用自定义lua解析管理器调用lua脚本中的table19.Lua热更学习--使用toLua中的协程20.toLua中Lua调用C#中的类21.热更学习笔记10~11----lua调用C#中的List和Dictionary、拓展类中的方法22.Lua中调用ref和out修饰参数的函数/重载函数
23.Unity 编辑器中获取选中的文件夹、文件路径
编辑器中获取选中的文件夹、文件路径
using UnityEditor; using UnityEngine; using Object = UnityEngine.Object; public class MyEditorScript { [MenuItem("Assets/PrintSelectedFolderPath")] static void PrintSelectedFolderPath() { // 第一种方式 // 只能访问选中的文件 选中的文件夹则不会打印 // 获取选中的对象 仅仅对File有效 var obj = Selection.activeObject; // 获取选中对象的路径 string path = AssetDatabase.GetAssetPath(obj); Debug.Log("通过Selection.activeObject获取的路径: " + path); // -----------------第二种方式------------------------------- //支持多选 string[] guids = Selection.assetGUIDs;//获取当前选中的asset的GUID for (int i = 0; i < guids.Length; i++) { string assetPath = AssetDatabase.GUIDToAssetPath(guids[i]);//通过GUID获取路径 Debug.Log("通过GUID获取的路径"+Application.dataPath + assetPath.Substring(6)); } //第三种方式访问路径 Debug.Log("遍历Object来获取对应的路径" + Application.dataPath + GetCurrentAssetDirectory().Substring(6)); } public static string GetCurrentAssetDirectory() { foreach (var obj in Selection.GetFiltered<Object>(SelectionMode.Assets)) { var path = AssetDatabase.GetAssetPath(obj); if(string.IsNullOrEmpty(path)) continue; if (System.IO.Directory.Exists(path)) { return path; }else if (System.IO.File.Exists(path)) { return System.IO.Path.GetDirectoryName(path); } } return ""; } }
使用案例:
访问某个具体的文件:
三种方式都可以访问出路径:
访问某个具体的文件夹:
则第一种方式Selection.activeObject便不可行[笔者在这里踩坑~]
同样的,如果访问的文件夹内容为空,则三种方式均可打印出路径:
本文作者:畅知
本文链接:https://www.cnblogs.com/TonyCode/p/18261318
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· RFID实践——.NET IoT程序读取高频RFID卡/标签