I want to move a directory from one location to another using C# .NET. I used Directory.Move or even DirectoryInfo (with MoveTo) this simple way:
// 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);
}
But action that’s being done (for both cases) is renaming the folder name from ‘source’ to ‘newLocation’
What I expected? that folder “Elvis my man” will be now in “Elvis” folder.
What has happened? “Elvis my man” was changed to “Elvis” (Renamed). If the directory “Elvis” is already exists, it can’t change it to “Elvis” (cause he can’t make a duplicate names), therefore I get an exception saying that.
What am I doing wrong??
Many thanks!!!
Even though this works in the command line to move a file, when programming you need to provide the full new name.
So you’d need to change newLocation to “C:\Songs\Elvis\Elvis my Man” to make this work.