ディレクトリとファイル一覧(パスなし)

Directory.GetFilesやGetDirectoriesから得られるフルパスからファイル名、ディレクトリ名だけを取り出さないといけない。そのためには、Path.GetFileNameメソッドを使う。ディレクトリでも使えるようだ。

というわけで修正版。

using System;
using System.IO;

public class dir {
  static void Main(){
    string cdir = Directory.GetCurrentDirectory();
    string[] files = Directory.GetFiles(cdir);
    string[] dirs = Directory.GetDirectories(cdir);
    foreach (string s in dirs) {
      string dir = Path.GetFileName(s);
      Console.WriteLine("<" + dir + ">");
    }
    foreach (string s in files) {
      string file = Path.GetFileName(s);
      Console.WriteLine(file);
    }
  }
}

実行結果

$ ls
dir.cs  dir.exe*  test/
$ ./dir.exe

dir.cs
dir.exe

できた・・・と。