Le déplacement d'un dossier (Répertoire) d'un endroit à un autre - les débordements de la
Je veux déplacer d'un répertoire à un autre emplacement à l'aide de C# .NET. J'ai utilisé Directory.Move
ou même DirectoryInfo (avec MoveTo) cette manière simple:
//source is: "C:\Songs\Elvis my Man"
//newLocation is: "C:\Songs\Elvis"
try
{
//Previous command was: Directory.Move(source, newLocation);
DirectoryInfo dir = new DirectoryInfo(source);
dir.MoveTo(newLocation);
}
catch (Exception e)
{
Console.WriteLine("Error: "+ e.Message);
}
Mais l'action en train de se faire (pour les deux cas) est de renommer le nom du dossier de la "source" à "newLocation'
Ce que j'attendais? ce dossier "Elvis my man" sera désormais dans "Elvis" le dossier.
Ce qui s'est passé? "Elvis my man" a été changé pour "Elvis" (Renommé). Si le répertoire "Elvis" est déjà existe, elle ne peut pas le changer pour "Elvis" (parce qu'il ne peut pas faire un doublon noms), donc j'obtiens une exception en disant cela.
Ce que je fais mal??
Merci beaucoup!!!
OriginalL'auteur Shahar | 2011-09-09
Vous devez vous connecter pour publier un commentaire.
Même si cela fonctionne dans la ligne de commande pour déplacer un fichier, lors de la programmation, vous devez fournir le nouveau nom.
De sorte que vous aurez besoin de changer de newLocation à "C:\Songs\Elvis\Elvis mon Homme" pour faire ce travail.
OriginalL'auteur Sam
Je vous conseille de mettre autour de la validation de la commande de Déplacement pour s'assurer que l'emplacement de la source n'existe et l'emplacement de destination n'existe pas.
J'ai toujours trouvé ça plus facile d'éviter de l'exception que de les traiter une fois qu'ils se produisent.
Vous voudrez probablement inclure la gestion des exceptions ainsi, juste au cas où les autorisations d'accès sont un problème ou un fichier est ouvert et ne peut pas être déplacé...
Voici un exemple de code pour vous:
OriginalL'auteur TeamWild
De MSDN,
Il semble que vous devez définir
newLocation
à C:\Songs\Elvis\Elvis mon hommeOriginalL'auteur Raeeyesis
OriginalL'auteur user9817675