C# フォルダの存在/移動/コピー/削除のサンプル

C#のフォルダを操作するサンプルです。

確認環境
・Microsoft Visual Studio Community 2019

目次

フォルダ操作 フォルダの存在確認(Exists)
  フォルダをコピーする(CopyDirectory)
  フォルダを移動する(Move)
  フォルダ名を変更する(Move)
  空フォルダを作成する(CreateDirectory)
  フォルダを削除する(Delete)
  作成日時と更新日時を取得

フォルダの存在確認(Exists)

public static bool Exists(string path)

Existsメソッドで、フォルダの存在確認を行うサンプルです。

using System;
using System.IO;

class Test1
{
	static void Main()
	{
		string path1 = @"d:\test1";

		if (Directory.Exists(path1)){
			Console.WriteLine("存在します");
		}
	}
}

10行目のExistsメソッドは、フォルダが存在している場合、trueを返します。
存在していない場合、falseを返します。

フォルダをコピーする(CopyDirectory)

public static void CopyDirectory(string sourceDirectoryName, string destinationDirectoryName)

C#にCopyDirectoryというメソッドはありません。
以下は、VBの参照を追加して使用する方法です。

1.参照の追加をクリックします。

2.Microsoft.VisualBasicを選択します。

以下は、コードです。

using Microsoft.VisualBasic.FileIO;

class Test1
{
	static void Main()
	{
		string path1 = @"d:\test3\sub1";
		string path2 = @"d:\test4\sub1";

		FileSystem.CopyDirectory(path1, path2);
	}
}

1行目は、usingでVisualBasic.FileIOを指定しています。
10行目は、Test3フォルダ配下のsub1フォルダをTest4フォルダ配下にコピーします。
フォルダの中のファイルもコピーされます。サブフォルダもコピーされます。

フォルダを移動する(Move)

public static void Move(string sourceDirName, string destDirName)

Moveメソッドで、フォルダを移動するサンプルです。

using System.IO;

class Test1
{
	static void Main()
	{
		string path1 = @"d:\test3\sub1";
		string path2 = @"d:\test4\sub1";

		Directory.Move(path1, path2);
	}
}

10行目は、Test3フォルダ配下のsub1フォルダをTest4フォルダ配下に移動します。
フォルダの中のファイルもコピーされます。サブフォルダもコピーされます。
移動先に既に存在する場合はエラーになります。

フォルダ名を変更する(Move)

public static void Move(string sourceDirName, string destDirName)

Moveメソッドで、フォルダ名を変更するサンプルです。

using System.IO;

class Test1
{
	static void Main()
	{
		string path1 = @"d:\test3\sub1";
		string path2 = @"d:\test3\sub変更";

		Directory.Move(path1, path2);
	}
}

8行目は、Test3フォルダ配下のsub1フォルダをsub変更というフォルダ名に変更しています。

空フォルダを作成する(CreateDirectory)

public static DirectoryInfo CreateDirectory(string path)

CreateDirectoryメソッドで、空フォルダを作成するサンプルです。

using System;
using System.IO;

class Test1
{
	static void Main()
	{
		string path1 = @"d:\test3\Test1";

		Directory.CreateDirectory(path1);
	}
}

10行目は、CreateDirectoryメソッドでtest3フォルダ配下にTest1フォルダを作成しています。

フォルダを削除する(Delete)

public static void Delete (string path, bool recursive)

Deleteメソッドで、フォルダを削除するサンプルです。

using System.IO;

class Test1
{
	static void Main()
	{
		string path1 = @"d:\test3\sub1";

		Directory.Delete(path1, true);
	}
}

9行目は、フォルダを削除します。引数の2つめのtrueはサブフォルダがある場合も削除します。

https://docs.microsoft.com/ja-jp/dotnet/api/system.io.directory.delete?view=netframework-4.8

作成日時と更新日時を取得する

public static DateTime GetCreationTime(string path)
public static DateTime GetLastWriteTime(string path)

GetCreationTimeメソッドで、フォルダの作成日時を取得し、
GetLastWriteTimeメソッドで、フォルダの更新日時を取得するサンプルです。

using System;
using System.IO;

class Test1
{
	static void Main()
	{
		string path1 = @"d:\test3\sub1";

		// 作成日時
		Console.WriteLine(Directory.GetCreationTime(path1));
		// 更新日時
		Console.WriteLine(Directory.GetLastWriteTime(path1));
	}
}

11行目は、作成日時を取得します。2019/12/21 21:44:02のように表示されます。
13行目は、更新日時を取得します。2020/02/16 13:54:43のように表示されます。

関連の記事

C# テキストファイルの読み書きのサンプル
C# ファイルの存在/移動/コピー/削除のサンプル

△上に戻る