2 using System.Collections.Generic;
\r
7 // $Id: Program.cs 357 2009-10-12 08:56:39Z u6k $
\r
9 namespace RenameBatch
\r
13 static void Main(string[] args)
\r
20 if (args.Length != 1)
\r
22 throw new ArgumentException("引数が1個ではありません。");
\r
24 if (!Directory.Exists(args[0]))
\r
26 throw new ArgumentException("引数[0]のフォルダ・パスが存在しません。");
\r
28 if (!File.Exists(args[0] + "/before.txt"))
\r
30 throw new ArgumentException("before.txtが存在しません。");
\r
32 if (!File.Exists(args[0] + "/after.txt"))
\r
34 throw new ArgumentException("after.txtが存在しません。");
\r
38 * before.txt, after.txtを読み込む。
\r
40 string[] beforeArray = File.ReadAllLines(args[0] + "/before.txt", Encoding.Default);
\r
41 string[] afterArray = File.ReadAllLines(args[0] + "/after.txt", Encoding.Default);
\r
43 if (beforeArray.Length != afterArray.Length)
\r
45 throw new ArgumentException("before.txtとafter.txtの行数が異なります。");
\r
51 for (int i = 0; i < beforeArray.Length; i++)
\r
53 string beforePath = args[0] + "/" + beforeArray[i];
\r
54 string afterPath = args[0] + "/" + afterArray[i];
\r
58 if (File.Exists(beforePath))
\r
60 Console.WriteLine("[" + (i + 1) + "/" + beforeArray.Length + "]" + beforePath + " ...ファイル・リネーム成功");
\r
62 File.Move(beforePath, afterPath);
\r
64 else if (Directory.Exists(beforePath))
\r
66 Console.WriteLine("[" + (i + 1) + "/" + beforeArray.Length + "]" + beforePath + " ...フォルダ・リネーム成功");
\r
68 Directory.Move(beforePath, afterPath);
\r
72 Console.WriteLine("[" + (i + 1) + "/" + beforeArray.Length + "]" + beforePath + " ...パス不存在");
\r
75 catch (IOException e)
\r
77 Console.WriteLine("[" + (i + 1) + "/" + beforeArray.Length + "]" + beforePath + " ...エラー");
\r
83 Console.WriteLine(e.ToString());
\r
85 Console.WriteLine("usage: " + typeof(Program).Assembly.GetName().Name + ".exe [フォルダ・パス]");
\r
86 Console.WriteLine(" [フォルダ・パス]\\before.txt ... リネーム前のパス・リスト");
\r
87 Console.WriteLine(" [フォルダ・パス]\\after.txt ... リネーム後のパス・リスト");
\r
90 Console.WriteLine("Push Any Key...");
\r