C# フォルダ、ファイル操作
フォルダ、ファイル操作をやります。フォルダ、ファイル操作
using System;
using System.Reflection;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string dirPath = @"C:\work";
string filePath = "test.txt";
//パスを繋げる C:\work + test.txt → C:\work\test.txt
string fullPath = System.IO.Path.Combine(dirPath, filePath);
Console.WriteLine(fullPath);
//ファイル名を取得 C:\work\test.txt → test.txt
Console.WriteLine(System.IO.Path.GetFileName(fullPath));
//拡張子なしファイル名を取得 C:\work\test.txt → test
Console.WriteLine(System.IO.Path.GetFileNameWithoutExtension(fullPath));
//ファイルの拡張子のみを取得 C:\work\test.txt → .txt
Console.WriteLine(System.IO.Path.GetExtension(fullPath));
//ファイルの親フォルダを取得 C:\work\test.txt → C:\work
Console.WriteLine(System.IO.Path.GetDirectoryName(fullPath));
string ymdhms = DateTime.Now.ToString("yyyyMMddHHmmss");
//ファイルコピー trueを指定するとコピー先を上書き
System.IO.File.Copy(fullPath, fullPath + ymdhms, true);
//ファイル移動
System.IO.File.Move(fullPath + ymdhms, @"C:\work\test2.txt");
//ファイル削除
System.IO.File.Delete(@"C:\work\test2.txt");
//ファイル存在チェック
if (System.IO.File.Exists(@"C:\work\test.txt"))
{
Console.WriteLine("ファイルが存在");
}
//フォルダ存在チェック
if (System.IO.Directory.Exists(@"C:\work"))
{
Console.WriteLine("フォルダが存在");
}
//フォルダ一覧の配下すべて。直下のみの場合、System.IO.SearchOption.TopDirectoryOnlyを指定する
System.IO.DirectoryInfo baseDir = new System.IO.DirectoryInfo(@"C:\work");
System.IO.DirectoryInfo[] dirs =
baseDir.GetDirectories("*", System.IO.SearchOption.AllDirectories);
foreach (System.IO.DirectoryInfo dir in dirs)
{
Console.WriteLine(dir.FullName);
}
//ファイル一覧の配下すべて。直下のみの場合、System.IO.SearchOption.TopDirectoryOnlyを指定する
string[] files = System.IO.Directory.GetFiles(@"C:\work", "*", System.IO.SearchOption.AllDirectories);
foreach (string file in files)
{
Console.WriteLine(file);
}
//フォルダ作成
System.IO.Directory.CreateDirectory(@"C:\work\new");
//フォルダ移動
System.IO.Directory.Move(@"C:\work\new", @"C:\work\new2");
//フォルダ削除
System.IO.Directory.Delete(@"C:\work\new2", true);
//exeファイルのパスを表示
Console.WriteLine(Assembly.GetExecutingAssembly().Location);
}
}
}
パスを編集したり、取得したりする場合、System.IO.Pathを使用します。
ファイル関連の処理は、System.IO.Fileを使用します。
フォルダ関連の処理は、System.IO.Directoryを使用します。
ページのトップへ戻る