ファイル操作

[C#] ファイルを移動・リネームする(File.Move、FileInfo.MoveTo)

2021年9月7日

ファイルを移動・リネーム(ファイル名変更)するサンプルです。
同じフォルダ内でファイル名を変更してMoveするとリネームになります。

System.IO.Fileクラスを使用する方法と、
System.IO.FileInfoクラスを使用する方法の2種類があります。

Fileクラスを使用する方法

Fileクラスを使う場合はstaticなのでクラスをnewする必要がありません。

例1-1)ファイル「D:¥test.txt」を「D:¥dir01¥test.txt」へ移動する

using System.IO;

File.Move(@"D:\test.txt", @"D:\dir01\test.txt");

移動先に既に同名ファイルが存在する場合は例外が発生します。

例1-2)ファイル「D:¥test1.txt」を「test2.txt」にリネームする

using System.IO;

File.Move(@"D:\test1.txt", @"D:\test2.txt");

FileInfoクラスを使用する方法

FileInfoクラスを使う場合はクラスをnewする必要があります。

例2-1)ファイル「D:¥test.txt」を「D:¥dir01¥test.txt」へ移動する

using System.IO;

FileInfo fi = new FileInfo(@"D:\test.txt");
fi.MoveTo(@"D:\dir01\test.txt");

移動先に既に同名ファイルが存在する場合は例外が発生します。

例2-2)ファイル「D:¥test1.txt」を「test2.txt」にリネームする

using System.IO;

FileInfo fi = new FileInfo(@"D:\test1.txt");
fi.MoveTo(@"D:\test2.txt");

備考

  • どちらを使っても機能に差はないのでお好みの方をご使用ください。
  • 指定するファイル名に不正がある場合は、System.IO.IOExceptionが発生します。
  • 移動ではなくコピーしたい場合は、File.Copy、FileInfo.CopyToを使用します。
    (以下関連記事をご覧ください。)

関連記事

-ファイル操作
-