其实搞这个小程序只是为了更好的解决现在遇到的问题什么问题呢? 现在在做关于图像处理的课题用CCD批量拍摄了几百副图像命名方式为 bmpbmpbmp 按顺序来的因为有些图像因为模糊或者不符合处理 条件我手动将其剔除于是有了刚才提到的问题现在的大量图片文件名不连续了用Matlab处理时不方便于是写了个C#小程序用来自动排列图像 我是菜鸟呵呵如果各位高手有更好的解决方法和算法多多指教啊代码如下 using System; using SystemCollectionsGeneric; using SystemText; using SystemIO; using SystemWindowsForms; // 自动重命名 namespace renamebmp { class Program { static void Main(string[] args) { int first = ; //起始图片编号 int last = ; //结束图片编号 int temp; string path; //寻找到的第一个空位置 string path; //寻找到的空位置后的最小编号图片文件路径 int count = ; //图片数量 string temppath = ; for (int k = first; k <= last; k++) { temppath = F:\\test\\ + kToString() + bmp; if (FileExists(temppath)) count++; } for (int i = first; i <= count; i++) { temp = i + ; path = F:\\test\\ + iToString() + bmp; if (!FileExists(path)) { path = F:\\test\\ + tempToString() + bmp; while (!FileExists(path)) { temp++; if (temp == last) { path = F:\\test\\ + lastToString() + bmp; break; } path = F:\\test\\ + tempToString() + bmp; } FileMove(path path); // 使用move方法重命名 } } MessageBoxShow(排序完毕排序后图片数量为 +countToString()); } } } |