批量设置AssetBundleName
using UnityEngine; using System.Collections; using UnityEditor; using System.IO; public class ChangeName : MonoBehaviour { // public string versionDir; // public string abName; void Start () { for(int i = 0;i< 27;i++) { string path = "RES/com/face/prefab/0_"+i; string abname = "face0_" + i; SetVersionDirAssetName (path,abname); } } public void SetVersionDirAssetName(string versionDir,string abName) { var fullPath = Application.dataPath + "/" + versionDir + "/"; var relativeLen = versionDir.Length + 8; // Assets 长度 if (Directory.Exists(fullPath)) { EditorUtility.DisplayProgressBar("设置AssetName名称", "正在设置AssetName名称中...", 0f); var dir = new DirectoryInfo(fullPath); var files = dir.GetFiles("*", SearchOption.AllDirectories); for (var i = 0; i < files.Length; ++i) { var fileInfo = files[i]; EditorUtility.DisplayProgressBar("设置AssetName名称", "正在设置AssetName名称中...", 1f * i / files.Length); if (!fileInfo.Name.EndsWith(".meta")) { var basePath = fileInfo.FullName.Substring(fullPath.Length - relativeLen).Replace('\\', '/'); var importer = AssetImporter.GetAtPath(basePath); if (importer && importer.assetBundleName != versionDir) { importer.assetBundleName = abName; } } } EditorUtility.ClearProgressBar(); } } }