AssetDatabase.RenameAsset 重命名文件失败
今天想写一段Unity Editor 的代码将在 Project Panel 中选中的所有 Texture 改变 Format,然后重命名 成 xxx.Dither.png 然后自动进行上一篇文章提到的 16位压缩贴图
刚开始改变 Format 都可以了,可是不知道如何对资源文件重命名,经过google,找到了相应API:
当重命名成功时会返回 空串 "" ,否则返回错误信息
刚开始我传入的两个参数都是 全路径的,但每次都返回错误
Trying to move asset as a sub directory of a directory that does not exist Assets/UI/Assets/UI/xxx.png
因此我把第二个参数去掉全路径,只保留新的文件名。。就成功了,以下是代码
[MenuItem("Edit/Transform Texture To Dither")]
static void SetSelectTextureToDither()
{
foreach(Object obj in Selection.GetFiltered(typeof(Object), SelectionMode.Assets))
{
string path = path = AssetDatabase.GetAssetPath(obj); ;
TextureImporter textureImporter = AssetImporter.GetAtPath(path) as TextureImporter;
if (textureImporter == null)
continue; textureImporter.textureFormat = TextureImporterFormat.AutomaticTruecolor;
textureImporter.mipmapEnabled = false; AssetDatabase.WriteImportSettingsIfDirty(path);
string newPathName = Path.GetFileNameWithoutExtension(path) + ".Dither";
string renameRes = AssetDatabase.RenameAsset(path, newPathName);
if (renameRes != "")
Debug.Log("Fail to rename, err: " + renameRes);
AssetDatabase.WriteImportSettingsIfDirty(newPathName);
}
Debug.Log("Complete transform Texture to Dither!!");
}
AssetDatabase.RenameAsset 重命名文件失败的更多相关文章
- Web 在线文件管理器学习笔记与总结(13)重命名文件夹(14)复制文件夹
(13)重命名文件夹 ① 重命名文件夹通过 rename($oldname,$newname) 实现 ② 检测文件夹名是否符合规范 ③ 检测当前目录中是否存在同名文件夹名称,如果不存在则重命名成功 i ...
- Web 在线文件管理器学习笔记与总结(7)重命名文件
rename($oldname,$newname) 重命名文件或目录 <<<EOF EOF; 使用heredoc 技术,来部分实现界面与代码的准分离 重命名时,需要验证新文件名的合法 ...
- ASP FSO操作文件(复制文件、重命名文件、删除文件、替换字符串)
ASP FSO操作文件(复制文件.重命名文件.删除文件.替换字符串)FSO的意思是FileSystemObject,即文件系统对象.FSO对象模型包含在Scripting 类型库 (Scrrun.Dl ...
- Perl复制、移动、重命名文件/目录
File::Copy复制文件 File::Copy模块提供了copy函数和cp函数来复制文件,它们参数上完全一致,但行为上稍有区别. 用法大致如下: use File::Copy qw(copy cp ...
- php 移动或重命名文件(图片)到另一目录下的方法有多种,这里只列出三种:
php 移动或重命名文件(图片)到另一目录下的方法有多种,这里只列出三种: 方法一:使用copy函数 格式:copy(source,destination) 将文件从 source ...
- VC 复制移动删除重命名文件文件
说明: 1.以下封装了4个函数_CopyFile,_DeleteFile,_MoveFile,_ReNameFile 2.每个函数都先拷贝了原来的路径,保证了路径是以2个\0\0结尾.(如果不以2个\ ...
- linux 重命名文件和文件夹
linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录移动到/b下,并重命名为c mv /a /b/c 其实在文本模式 ...
- Linux中重命名文件
linux下重命名文件有两种方式: 1.较简单的处理命令:mv mv 原文件名 新文件名 如:mv myFile newName 将MyFile重命名为newName. 2.linux提供了一个重命名 ...
- Linux批量重命名文件
五种方法实现Linux批量重命名文件 Linux批量重命名文件是指对某些特定的文件统一进行重新命名,以改变原来一批文件的名称,这里介绍五种方法来实现. Linux批量重命名文件会涉及到改变一个字母.改 ...
随机推荐
- vue组件-使用插槽分发内容(slot)
slot--使用插槽分发内容(位置.槽口:作用: 占个位置) 官网API: https://cn.vuejs.org/v2/guide/components.html#使用插槽分发内容 使用组件时,有 ...
- MySql学习笔记04
复习 day01 数据库相关: create database db4 character set utf8; show databases; show create database db4; dr ...
- Zabbix监控告警Lack of free swap space on Zabbix server解决办法
报错详情如下: 是因为Zabbix监控没有考虑虚拟主机的交换空间情况 解决办法修改配置 修改表达式内容:{Template OS Linux:system.swap.size[,pfree].last ...
- Vue-Router基础学习笔记
1.安装vue-router npm install vue-router yarn add vue-router 2.引入注册vue-router import Vue from 'vue' imp ...
- day23-python之日志 re模块
1.logging import logging #-----------------------------------logging.basicConfig logging.basicConfig ...
- Gym - 101981D Country Meow(模拟退火)
题意 三维空间有\(n\)个点,找到另外一个点,离所有点的最大距离最小.求这个距离. 题解 \(1\).最小球覆盖,要找的点为球心. \(2\).模拟退火. 还是补一下模拟退火的介绍吧. 模拟退火有一 ...
- Redis实现之整数集合
整数集合 整数集合(insert)是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现.举个栗子,如果我们创建一个只包含五个 ...
- c++实验4
1. 车辆基本信息管理 #include <iostream> using namespace std; #include <string> #include "c ...
- Redis数据结构以及Strings型操作
Redis数据结构图: Strings型 <String key,String value>: keys * 查看所有key get 获取key的value值 append 向key对 ...
- 1 - smart(Maven:Package,Install,&,Log4j2)
mvn package 时,增加如下命令-Dmaven.test.skip=true 则表示package打包时,不执行也不编译测试用例,mvn package -Dmaven.test.skip=t ...