C#を用いてフォルダ内のファイルを操作する方法に焦点を当て、初心者でも理解しやすい手順で解説します。
ファイルの取得、削除、移動、コピーに関する基本的な知識を身につけ、実際のプログラミングに活かしましょう。
フォルダ内の全ファイルを取得する方法
C#を使ってフォルダ内のすべてのファイルを取得するにはDirectoryクラスを利用します。
以下がその基本的なコード例です。
using System;
using System.IO;
class Program
{
static void Main()
{
string folderPath = @"C:\YourFolderPath";
string[] files = Directory.GetFiles(folderPath);
foreach (string file in files)
{
Console.WriteLine(file);
}
}
}
このコードでは指定したフォルダ内の全てのファイルパスを取得しそれをコンソールに表示しています。
ファイルを削除する方法
フォルダ内のファイルを削除するには、Fileクラスを利用します。
以下が基本的なコード例です。
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = @"C:\YourFolderPath\YourFile.txt";
if (File.Exists(filePath))
{
File.Delete(filePath);
Console.WriteLine("ファイルが削除されました。");
}
else
{
Console.WriteLine("指定されたファイルは存在しません。");
}
}
}
このコードでは指定したファイルが存在すれば削除し存在しなければその旨をコンソールに表示します。
フォルダ内のファイルを全削除する方法
C#を使用してフォルダ内のすべてのファイルとサブフォルダを削除する方法はDirectory.Deleteメソッドを使用します。
以下は基本的なコード例です。
using System;
using System.IO;
class Program
{
static void Main()
{
string folderPath = @"C:\YourFolderPath";
try
{
// フォルダとその中身を再帰的に削除
Directory.Delete(folderPath, true);
Console.WriteLine("フォルダ内のすべてのファイルとサブフォルダが削除されました。");
}
catch (Exception ex)
{
Console.WriteLine($"削除中にエラーが発生しました: {ex.Message}");
}
}
}
このコードではDirectory.Deleteメソッドを使用して指定したフォルダとその中身を再帰的に削除しています。
trueを指定することでサブフォルダも含めてすべてのファイルとフォルダを削除します。
エラーが発生した場合にはtry-catch構文を使用してエラーをキャッチしメッセージを表示しています。
ファイルの移動する方法
ファイルを別の場所に移動するには、File.Moveメソッドを使用します。
以下が基本的なコード例です。
using System;
using System.IO;
class Program
{
static void Main()
{
string sourceFilePath = @"C:\YourSourceFolder\YourFile.txt";
string destinationFolderPath = @"C:\YourDestinationFolder";
if (File.Exists(sourceFilePath))
{
File.Move(sourceFilePath, Path.Combine(destinationFolderPath, Path.GetFileName(sourceFilePath)));
Console.WriteLine("ファイルが移動されました。");
}
else
{
Console.WriteLine("指定されたファイルは存在しません。");
}
}
}
このコードでは、指定したファイルが存在すれば別のフォルダに移動し存在しなければその旨をコンソールに表示します。
フォルダの中身すべてを移動する方法
C#を使用してフォルダ内の全ファイルを別の場所に移動するにはDirectory.GetFilesメソッドを使用して全てのファイルを取得しそれぞれを目的のフォルダに移動します。
以下がその基本的なコード例です。
using System;
using System.IO;
class Program
{
static void Main()
{
string sourceFolderPath = @"C:\YourSourceFolder";
string destinationFolderPath = @"C:\YourDestinationFolder";
try
{
// フォルダ内の全てのファイルを取得
string[] files = Directory.GetFiles(sourceFolderPath);
// 取得した全ファイルを目的のフォルダに移動
foreach (string file in files)
{
string fileName = Path.GetFileName(file);
string destinationFilePath = Path.Combine(destinationFolderPath, fileName);
File.Move(file, destinationFilePath);
}
Console.WriteLine("フォルダ内の全ファイルが移動されました。");
}
catch (Exception ex)
{
Console.WriteLine($"移動中にエラーが発生しました: {ex.Message}");
}
}
}
このコードではDirectory.GetFilesメソッドを使用して指定したフォルダ内の全てのファイルパスを取得し、それらをforeachループを用いて移動先のフォルダに移動しています。
エラーが発生した場合には、try-catch構文を使用してエラーをキャッチしメッセージを表示しています。
ファイルのコピーする方法
ファイルを別の場所にコピーするには、File.Copyメソッドを使用します。
以下が基本的なコード例です。
using System;
using System.IO;
class Program
{
static void Main()
{
string sourceFilePath = @"C:\YourSourceFolder\YourFile.txt";
string destinationFolderPath = @"C:\YourDestinationFolder";
if (File.Exists(sourceFilePath))
{
File.Copy(sourceFilePath, Path.Combine(destinationFolderPath, Path.GetFileName(sourceFilePath)));
Console.WriteLine("ファイルがコピーされました。");
}
else
{
Console.WriteLine("指定されたファイルは存在しません。");
}
}
}
このコードでは、指定したファイルが存在すれば別のフォルダにコピーし存在しなければその旨をコンソールに表示します。
まとめ
C#を使用してフォルダ内のファイルを取得・削除・移動・コピーする方法は基本的なファイル操作のメソッドを活用することで実現できます。
DirectoryクラスやFileクラスのメソッドを理解しこれらを組み合わせて柔軟にファイル操作を行うことができれば、効率的で堅牢なプログラムが構築できます。
ファイルの取得や操作は実際の開発で頻繁に利用されるため、しっかりと理解しておくと役立つスキルとなります。