最近,项目中需要实现对文件夹中的地图照片进行重命名,然后将其放入对应级别下对应的行号文件夹中,对此用C#编写了一个程序来实现此功能。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
public class OpenFile : MonoBehaviour
{
public void Start()
{
string[] fileName = Directory.GetFiles("D:\\unityWork\\算法\\map");//地图的源文件所在文件夹
for (int i = 0; i < fileName.Length; i++)
{
string[] arr = fileName[i].Split('\\');//打印fileName中的元素,按照格式划分出每张照片的名字
string[] jpgNameArr = arr[4].Split(new char[] { '_','.'});//将每个照片的文件名进行划分,得到其缩放等级、行号和列号
string path = "D:\\Map\\" + jpgNameArr[3] + "\\" + jpgNameArr[1] + "\\" + jpgNameArr[2] + ".jpg";//指出各照片所需移动到的对应文件夹和对应的照片名
if (!File.Exists("D:\\Map\\" + jpgNameArr[3]))
{
Directory.CreateDirectory("D:\\Map\\" + jpgNameArr[3]);//如果这个子文件夹不存在就创建
}
if (!File.Exists("D:\\Map\\" + jpgNameArr[3] + "\\" + jpgNameArr[1]))
{
Directory.CreateDirectory("D:\\Map\\" + jpgNameArr[3] + "\\" + jpgNameArr[1]);//如果这个子文件夹不存在就创建
}
Debug.Log(path);//打印出各照片所放的对应路径
File.Move(fileName[i], path);
}
}
}
运行结果如下: