カテゴリ: C# 更新日: 2025/11/07

C#でファイルのコピー・移動・リネームを行う方法を徹底解説!初心者でも理解できる基本操作

C#でファイルのコピー・移動・リネームを行う方法
C#でファイルのコピー・移動・リネームを行う方法

先生と生徒の会話形式で理解しよう

生徒

「先生、C#でファイルをコピーしたり、移動したり、名前を変えたりしたいんですけど、どうやるんですか?」

先生

「いい質問ですね。C#では、Fileクラスを使えば、簡単にファイルをコピー・移動・リネームすることができますよ。」

生徒

「えっ?そんなに簡単にできるんですか?」

先生

「はい。ファイル操作に慣れると、パソコンのファイル管理も理解しやすくなります。では、具体的に見ていきましょう!」

1. C#でファイルをコピーする方法

1. C#でファイルをコピーする方法
1. C#でファイルをコピーする方法

C#でファイルをコピーするには、System.IO名前空間の中にあるFile.Copy()メソッドを使います。このメソッドを使うことで、元のファイルを残したまま、別の場所に同じ内容のファイルを作成することができます。

コピーとは、「元のファイルをそのまま複製する」ことです。たとえば、デスクトップにあるsample.txtをバックアップ用フォルダにコピーする、という操作が簡単にできます。


using System;
using System.IO;

class Program
{
    static void Main()
    {
        string sourcePath = "C:\\temp\\sample.txt";      // 元のファイルのパス
        string destinationPath = "C:\\backup\\sample.txt"; // コピー先のパス

        File.Copy(sourcePath, destinationPath, true);
        Console.WriteLine("ファイルをコピーしました。");
    }
}

この例では、File.Copy()の3つ目の引数trueは「上書きしてもよい」という意味です。もしコピー先に同名ファイルがあっても、上書きされます。


ファイルをコピーしました。

2. C#でファイルを移動する方法

2. C#でファイルを移動する方法
2. C#でファイルを移動する方法

次に、ファイルを「移動」する方法を見てみましょう。ファイルの移動は、File.Move()メソッドを使います。移動とは、「元の場所から別の場所にファイルを動かす」ことです。コピーとは違い、元の場所にはファイルが残りません。

例えば、作業フォルダから整理済みフォルダへファイルを移すときなどに使えます。


using System;
using System.IO;

class Program
{
    static void Main()
    {
        string sourcePath = "C:\\temp\\report.txt";
        string destinationPath = "C:\\archive\\report.txt";

        File.Move(sourcePath, destinationPath);
        Console.WriteLine("ファイルを移動しました。");
    }
}

ファイルを移動しました。

もし移動先に同じ名前のファイルがあると、エラーになります。上書きする機能はFile.Move()にはありません。その場合は、先にFile.Delete()で削除してから移動するなどの工夫が必要です。

3. C#でファイル名を変更(リネーム)する方法

3. C#でファイル名を変更(リネーム)する方法
3. C#でファイル名を変更(リネーム)する方法

実は「リネーム(名前変更)」も、移動と同じFile.Move()メソッドで行えます。フォルダの場所はそのままで、ファイル名だけを変えるイメージです。

たとえば、data.txtというファイルをdata_2025.txtという名前に変更したいときは、次のように書きます。


using System;
using System.IO;

class Program
{
    static void Main()
    {
        string oldName = "C:\\temp\\data.txt";
        string newName = "C:\\temp\\data_2025.txt";

        File.Move(oldName, newName);
        Console.WriteLine("ファイル名を変更しました。");
    }
}

ファイル名を変更しました。

このように、ファイルを別フォルダに移動する場合も、同じフォルダ内で名前を変更する場合も、File.Move()を使えばOKです。

4. ファイルが存在するか確認してから操作する

4. ファイルが存在するか確認してから操作する
4. ファイルが存在するか確認してから操作する

コピーや移動を行う前に、ファイルが本当に存在するかを確認しておくのが安全です。存在しないファイルを操作しようとすると、エラーが出てプログラムが止まってしまいます。

File.Exists()メソッドを使えば、指定したファイルが存在するか簡単にチェックできます。


using System;
using System.IO;

class Program
{
    static void Main()
    {
        string sourcePath = "C:\\temp\\info.txt";
        string destinationPath = "C:\\backup\\info.txt";

        if (File.Exists(sourcePath))
        {
            File.Copy(sourcePath, destinationPath, true);
            Console.WriteLine("ファイルをコピーしました。");
        }
        else
        {
            Console.WriteLine("指定したファイルが見つかりません。");
        }
    }
}

指定したファイルが見つかりません。

このようにif文で確認しておくことで、安心してファイル操作を行うことができます。これは実務でも非常によく使われる基本テクニックです。

5. 実際の開発でよくある使い方

5. 実際の開発でよくある使い方
5. 実際の開発でよくある使い方

ファイルのコピー・移動・リネームは、業務アプリケーションやバックアップツールなどで非常によく使われます。例えば、「毎日データをコピーしてバックアップを取る」「古いファイルを日付付きで保存する」といった処理は、この基本操作を応用することで簡単に実現できます。

また、フォルダ内のファイルを一括で移動したり、ファイル名に日付や時刻を自動でつけることも可能です。ファイル操作の基礎をしっかり理解しておくと、こうした応用もスムーズに行えるようになります。

これらの操作に慣れてくると、C#で自分だけのファイル整理アプリや自動バックアップツールを作ることも夢ではありません。

カテゴリの一覧へ
新着記事
C#でタイムスタンプの精度を上げるためのテクニックを徹底解説!(初心者向け)
C#のコーディング規約(C# Coding Conventions)とは?読みやすいコードを書くための基本ルール
C#のデストラクタ(ファイナライザ)の使い方と注意点をやさしく解説!
COBOL資産のバージョン管理とは?初心者でもわかる保守と管理の基本
人気記事
No.1
Java&Spring記事人気No1
COBOLで学ぶSELECT文のORDER BY・GROUP BY活用法!初心者でもわかるデータ集計
No.2
Java&Spring記事人気No2
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.3
Java&Spring記事人気No3
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法
No.4
Java&Spring記事人気No4
COBOLで学ぶカーソル操作と複数行データ取得の基本
No.5
Java&Spring記事人気No5
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#の数値型をマスターしよう!int・double・decimalの違いと使い方
No.7
Java&Spring記事人気No7
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.8
Java&Spring記事人気No8
C#の日付型(DateTime)と基本的な使い方を解説|初心者向け入門ガイド