Je n'ai trouvé aucune méthode DirectoryInfo.Rename (To) ou FileInfo.Rename (To) n'importe où. J'ai donc écrit le mien et je le poste ici pour que quiconque puisse l'utiliser s'il en a besoin, car avouons-le: les méthodes MoveTo sont exagérées et nécessiteront toujours une logique supplémentaire si vous voulez simplement renommer un répertoire ou un fichier:
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
}
}
Il n'y a aucune différence entre déplacer et renommer; vous devez simplement appeler Directory.Move
.
En général, si vous ne faites qu'une seule opération, vous devez utiliser les méthodes static
dans les classes File
et Directory
au lieu de créer FileInfo
et DirectoryInfo
objets.
Pour plus de conseils lorsque vous travaillez avec des fichiers et des répertoires, consultez ici .
Vous devez le déplacer:
Directory.Move(source, destination);
Un existe déjà. Si vous ne pouvez pas surmonter la syntaxe "Déplacer" du System.IO
espace de noms. Il y a une classe statique FileSystem
dans l'espace de noms Microsoft.VisualBasic.FileIO qui contient à la fois RenameDirectory
et RenameFile
.
Comme mentionné par SLaks, ce n'est qu'un wrapper pour Directory.Move
et File.Move
.