Unity资源根据后缀进行复制和分类

        此代码块主要实现了Unity中的资源拷贝以及分类。将Audio文件夹内的音频文件,根据后缀进行分类。代码灵活可以根据需要修改为你的需要进行修改。

先上效果

 

 代码如下

//先创建几个位置,此次分类主要是分类的Audio文件夹下的文件根据后缀不同分类为mp3,wav,ogg
    private static string YuanAudioPath = Application.dataPath + "/Audio";
    private static string AudioCopyPath = Application.dataPath + "/AudioCopy";
    private static string BgmPathMp3 = Application.dataPath + "/AudioCopy/Mp3";
    private static string BgmPathWav = Application.dataPath + "/AudioCopy/Wav";
    private static string BgmPathOgg = Application.dataPath + "/AudioCopy/Ogg";

[MenuItem("Tool/音乐文件分类拷贝")]        
    
    public static void CopyMusicFile()
    {
        //先创建文件夹
        if (!File.Exists(AudioCopyPath))
        {
            Directory.CreateDirectory(AudioCopyPath);     //创建一个音乐文件夹。
            Directory.CreateDirectory(BgmPathMp3);  //创建3个指定资源的子文件夹 
            Directory.CreateDirectory(BgmPathWav);
            Directory.CreateDirectory(BgmPathOgg);
            CopyDirectory(YuanAudioPath);       //将音乐文件分类拷贝到创建的三个特殊文件夹。
            AssetDatabase.Refresh();
        }
        else
        { return; }

    }

public static void CopyDirectory(string srcDir)              // 通过后缀将文件分别拷贝到指定文件夹
    {
        DirectoryInfo source = new DirectoryInfo(srcDir);

        if (!source.Exists)
        {
            return;
        }

        FileInfo[] files = source.GetFiles();          //返回当前目录的文件列表

        for (int i = 0; i < files.Length; i++)         //读取文件列表,将指定文件放到指定文件夹
        {
            if (files[i].Name.EndsWith(".meta"))   //不copy带有meta的文件 ...但是根据Unity的特性还是会自动生成meta文件....
            {
                continue;
            }
            if (files[i].Name.EndsWith(".ogg"))                                                //挑选后缀为.ogg的音频文件
            {
                File.Copy(files[i].FullName, Path.Combine(BgmPathOgg, files[i].Name), true);   //将后缀为.ogg的音频文件放到OGG文件夹
            }
            else if (files[i].Name.EndsWith(".mp3"))                                           //挑选后缀为.mp3的音频文件
            {
                File.Copy(files[i].FullName, Path.Combine(BgmPathMp3, files[i].Name), true);    //将后缀为.mp3的音频文件放到MP3文件夹
            }

            else if (files[i].Name.EndsWith(".wav"))                                            //挑选后缀为.wav的音频文件
            {
                File.Copy(files[i].FullName, Path.Combine(BgmPathWav, files[i].Name), true);    //将后缀为.wav的音频文件放到WAV文件夹
            }
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小蔡鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值