Windows10の環境。 たくさんのファイルを名前で分類してフォルダにまとめる。 ファイル名の一部をフォルダ名とする。 手順 1.フォルダ名にする文字列のリストを作る。 2.1.の文字列でフォルダを作る。 3.ファイル名の中に1.の文字列を含むファイルを2.で作った該当するフォルダに移動する。 使うもの DOSのコマンド 自作のコマンド・ライン・アプリ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
using System; using System.IO; using System.Reflection; using System.Text; // Encoding.GetEncoding を使用するのに必要 class Program { static void Main(string[] args) { // 実行ファイルのパスを得る Assembly myAssembly = Assembly.GetEntryAssembly(); string orgpath = System.IO.Path.GetDirectoryName(myAssembly.Location); // 実行ファイルと同じフォルダにあるfname.txtを対象とする string path = orgpath + @"\fname.txt"; // 実行ファイルと同じフォルダにfname_arr.txt(=sw)を用意する System.IO.StreamWriter sw = new System.IO.StreamWriter( orgpath + @"\fname_arr.txt", false, // 文字化け防止 System.Text.Encoding.GetEncoding("shift_jis")); // 実行ファイルと同じフォルダにあるfname.txt(=lines)から読み込む & 文字化け防止 var lines = File.ReadAllLines(path, Encoding.GetEncoding("shift-jis")); // linesから1行ずつlineに読み込んで編集してswに書き込む foreach (var line in lines) { //Console.WriteLine(line); sw.WriteLine("mkdir \"" + line + "\" & move /y *\"" + line + "\"*.* \"" + line + "\"\\"); } sw.Close(); } } |
1.
「dir」はディレクトリ中のファイルやサブディレクトリの情報を一覧表示する。 「/A-D」はサブディレクトリを対象としないオプション。 「/B」は他の情報は省略して名前だけ表示するオプショ