DirectoryInfo.Rename(To)またはFileInfo.Rename(To)メソッドがどこにも見つかりませんでした。だから、私は自分で書いて、必要に応じて誰でも使用できるようにここに投稿しています。それは、MoveToメソッドが過剰であり、ディレクトリまたはファイルの名前を変更するだけの場合は常に追加のロジックが必要になるためです:
public static class DirectoryExtensions
{
public static void RenameTo(this DirectoryInfo di, string name)
{
if (di == null)
{
throw new ArgumentNullException("di", "Directory info to rename cannot be null");
}
if (string.IsNullOrWhiteSpace(name))
{
throw new ArgumentException("New name cannot be null or blank", "name");
}
di.MoveTo(Path.Combine(di.Parent.FullName, name));
return; //done
}
}
移動と名前変更の間に違いはありません。単に Directory.Move
。
一般に、単一の操作のみを行う場合は、static
およびFile
オブジェクトを作成する代わりに、Directory
およびFileInfo
クラスでDirectoryInfo
メソッドを使用する必要があります。
ファイルおよびディレクトリを操作する際の詳細なアドバイスについては、 here を参照してください。
移動する必要があります。
Directory.Move(source, destination);
すでに存在します。 System.IO
名前空間の「移動」構文を乗り越えられない場合。 Microsoft.VisualBasic.FileIO名前空間内にFileSystem
とRenameDirectory
の両方が既に存在する静的クラスRenameFile
があります。
SLaksで述べたように、これはDirectory.Move
とFile.Move
の単なるラッパーです。