RSS

タグ別アーカイブ: Directory

C#: ディレクトリ情報と操作

ディレクトリ情報の取得や操作は、Directory クラスの静的メソッドで行うことができる。あるいは、DirectoryInfo クラスをインスタンス化して、そのメソッドやプロパティを使うこともできる。

// DirectoryInfo
Action<Object> println = o => Console.WriteLine(o.ToString());
Action<String, Object> printf = (format, data) => Console.WriteLine(format, data);
Func<string> readln = () => Console.ReadLine() ?? "";
Action<int> exit = code => Environment.Exit(code);
Func<bool> isLinux = () => Environment.OSVersion.Platform == PlatformID.Unix;
Func<bool> isWindows = () => Environment.OSVersion.Platform == PlatformID.Win32NT;

println("<< ディレクトリ情報 >>");

string path = "";
if (args.Length > 0)
{
  path = args[0];
}

// ディレクトリが存在するか?
println(Directory.Exists(path));

// カレントディレクトリ
var current = Environment.CurrentDirectory;
println(current);
if (isWindows())
  Environment.CurrentDirectory = @"c:\temp";
else
  Environment.CurrentDirectory = "~/temp";
current = Environment.CurrentDirectory;
println(current);

// サブディレクトリ作成
string subdir = Environment.CurrentDirectory + "/subdir";
Directory.CreateDirectory(subdir);
println(Directory.Exists(subdir));

// 空のディレクトリ削除
Directory.Delete(subdir);
println(Directory.Exists(subdir));

// 親のディレクトリ (フルパスでなく名前のみ)
DirectoryInfo? di = Directory.GetParent(path);
if (di != null)
{
  println(path);
  println(di.Name);
}

 
コメントする

投稿者: : 2024/04/28 投稿先 C#, dotNET

 

タグ: ,