首页 > 代码库 > 控制台 批量修改文件名
控制台 批量修改文件名
static void Main(string[] args) { string text = @"__________________用于批量修改文件_______________________ 注意事项: 1.在CMD 中执行命令 2.修改的目标文件,是以.ts 结尾 3.一共4个参数, 4.如果参数中存在空格,则用 引号 包含参数 args[0] 参数 : 目录 args[1] 参数 : 文件名 args[2] 参数: 要保存的目标文件,从 begin 开始计数.如果找到++ args[3] 参数: 将要寻找的目标文件,从start 开始,如果找到++ 如果文件,连续断断续续, 则 一段一段的执行.请不要多次执行_________________________________________________________例如: C:\Users\q\Desktop\ttt\ChongJiChengShi.1.ts 编辑的命令为: cmd PCName.exe C:\Users\q\Desktop\ttt ChongJiChengShi. 5 8***************************************************************************** "; var i = 0; Console.WriteLine(args.Length); if (args.Length != 5) Console.Write(@" 例如: cmd PCName.exe C:\Users\q\Desktop\ttt ChongJiChengShi. 5 8"); //C:\Users\q\Desktop\ttt //ChongJiChengShi.1.ts try { var path = args[0]; var file = args[1]; int begin = int.Parse(args[2]); int start = int.Parse(args[3]); //var path = @"C:\Users\亚龙\Desktop\ttt"; //var file = "ChongJiChengShi."; //int begin = 5; //int start = 8; if (!Directory.Exists(path)) throw new Exception("不存在该目录"); string[] directory = Directory.GetFiles(path); var orderbyDot = directory.Where(e => e.Contains(".ts")) .ToDictionary(e => int.Parse(e.Substring(e.IndexOf(".") + 1, e.LastIndexOf(".") - 1 - e.IndexOf(".")))).OrderBy(e => e.Key); foreach (var item in orderbyDot) { if (Path.GetFileNameWithoutExtension(item.Value) == (file + start)) { var saveFile = Path.Combine(path, file + begin + Path.GetExtension(item.Value)); var sourceFile = Path.Combine(path, item.Value); var bakFile = Path.Combine(path, "bak", Path.GetFileName(item.Value)); if (!Directory.Exists(Path.Combine(path, "bak"))) { Directory.CreateDirectory(Path.Combine(path, "bak")); } if (File.Exists(saveFile)) { throw new Exception("已存在该目标文件: [" + saveFile + "]"); } File.Copy(sourceFile, saveFile); File.Move(sourceFile, bakFile); //File.Delete(sourceFile); start++; begin++; i++; } } } catch (Exception ex) { Console.WriteLine(text); Console.WriteLine("********************ERROR Message***************************"); Console.WriteLine(ex.Message); } Console.WriteLine("批量修改文件名结束: 一共执行了" + i + "次"); }
如果文件序列是断的,
1,2,3,4 ,8,9,10,15,16,17,18,19
需要执行两次
Part 1
cmd PCName.exe C:\Users\q\Desktop\ttt ChongJiChengShi. 5 8
结果:
1,2,3,4,5,6,7,15,16,17,18,19
Part 2
cmd PCName.exe C:\Users\q\Desktop\ttt ChongJiChengShi. 8 15
结果:
1,2,3,4,5,6,7,8,9,10,11,12
控制台 批量修改文件名
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。