WinMemo0008

指定したフォルダに連番フォルダを作成する

前回の「指定したフォルダに日付フォルダを作成する」に味をしめたぼく。

実は日付フォルダだけじゃなくて、「#1」「#2」「#3」…なんて連番フォルダもよく作るんだよねぇ。

今度はこれをやってみよう。

  1. レジストリのHKEY_CLASSES_ROOT直下に「.aaaafolder_number」なるキーを作成。
    • 「既定」の値を「Folder.number」にする。
    • その中に「ShellNew」キーを作成。
      • 「Command」という文字列値をつくり、値を「cmd /C C:\software\MakeSequenceFolder.exe "%1"」とする。
  2. レジストリのHKEY_CLASSES_ROOT直下に「Folder.number」なるキーを作成。
    • 「既定」の値を「フォルダー(連番)」にする。
  3. フォルダ作成用のEXEを作成する。C#でコンソールアプリケーションとして作成。プロジェクト名は「MakeSequenceFolder」。できあがるEXEは「MakeSequenceFolder.exe」となる。
    using System;
    using System.IO;
    
    namespace MakeSequenceFolder
    {
        class Program
        {
            static void Main(string[] args)
            {
                if (args.Length > 0)
                {
                    string path = args[0].Replace("新規 フォルダー(連番).aaaafolder_number", "");
    
                    int no = 1;
                    string targetPath = "";
                    do
                    {
                        targetPath = path + "#" + no.ToString();
                        no++;
                    } while (Directory.Exists(targetPath));
    
                    Directory.CreateDirectory(targetPath);
                }
            }
        }
    }
    
    • ビルドしてできたMakeSequenceFolder.exeをC:\software配下に設置。

以上で思い通りのことができました!

さすがに連番フォルダをバッチファイルで作るのはしんどいので、C#で作ってみました。

応用すればなんでもできちゃいそう。

最終更新:2013年07月17日 19:07