ActionScript3.0批量修改文件名

为简化帧动画制作流程,作者开发了一款基于Flash的小程序,用于批量修改图片文件名,确保命名统一且有序。该工具能自动读取指定文件夹内的所有PNG图片,并按照预设格式重新命名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做帧动画,美术发过来的美术资源总是一大堆,而且命名总是按照他们喜欢的格式命名,虽然有改名软件,但是还是要在上面点点的,总感觉很是不爽,因此写了一个小程序来批量改名,如果您需要就得改对应参数,废话不多说,直接上代码吧
package
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.filesystem.File;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
	
	/**
	 * 文件名修改工具 
	 * @author nick
	 * 
	 */	
	public class FilePackge extends Sprite
	{
		/**
		 * 加载器 
		 */		
		private var _loader:URLLoader = null;
		/**
		 * 文件名路径 
		 */		
		private var _folderPath:String = "";
		/**
		 *  
		 * 构造函数
		 */		
		public function FilePackge()
		{			
			//为了方便更改文件夹地址,我将文件地址配成了xml配置档,通过loader进行加载
			_loader = new URLLoader();
			_loader.addEventListener(Event.COMPLETE,onLoadComplete);
			_loader.load(new URLRequest("H:/floderPackage/flieConf.xml"));			
		}
		
		/**
		 * 加载完成回调 
		 * @param e
		 * 
		 */		
		private function onLoadComplete(e:Event):void
		{
			if(_loader != null)
			{
				_loader.removeEventListener(Event.COMPLETE,onLoadComplete);				
			}
			var xml:XML = XML(_loader.data);		
			_folderPath = String(xml.fileDir.dir.@url);//文件夹根目录
			var file:File = new File(_folderPath);
			var fileAry:Array = file.getDirectoryListing();//获取路径下所有文件
			for(var i:int = 0;i < fileAry.length;i++)
			{
				var subFile:File = fileAry[i];
				if(subFile.isDirectory)//我这里需要将一个文件夹下所有文件按序编号,所有这个文件必须是文件夹
				{
					tryChgName(subFile);
				}
			}
		}
		
		/**
		 * 尝试更改文件名 
		 * 
		 */		
		private function tryChgName(file:File):void
		{
			var fileAry:Array = file.getDirectoryListing();
			if(fileAry.length > 0)
			{
				var subFile:File = fileAry[0];
				//这里判断扩展名是否我想改的类型 并且名字是否已经被修改了,如果修改了就不进行遍历了
				if(subFile.extension == "png" && subFile.name != "i0.png")
				{
					for(var i:int = 0;i < fileAry.length;i++)
					{
						var pngFile:File = fileAry[i];
						//原始url
						var oldUrl:String = pngFile.url;
						//老url 我想有序修改的类型
						var newUrl:String = oldUrl.substr(0,oldUrl.lastIndexOf("/") + 1) + "i" + i + pngFile.type;
						//以下相当于一个粘贴复制  也是这里的关键
						var newFile:File = pngFile.resolvePath(newUrl);
						pngFile.copyTo(newFile,true);
						//最后一步将原始文件删除
						pngFile.moveToTrash();
					}
				}
			}
		}
	}
}
下面是xml中的配置
<fileConf>
	<fileDir>
		<dir url="file:///H:/nbgame/art/资源/战斗/test" />
	</fileDir>
</fileConf>


最后来看看改名效果怎么样吧~


上面的改名前,名字无序

改名后,名字有序了 ,一个简单方便的小程序,希望对各位有点帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值