トッカンソフトウェア

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を使用します。

ページのトップへ戻る