ファイルを移動・リネーム(ファイル名変更)するサンプルです。
同じフォルダ内でファイル名を変更して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を使用します。
(以下関連記事をご覧ください。)