scott scott - 3 months ago 11
Vb.net Question

Renaming Directory with same name different case

I am trying to rename a directory in c# to a name that is the same only with differing case.

For example:
f:\test to f:\TEST

I have tried this code:

var directory = new DirectoryInfo("f:\\test");
directory.MoveTo("f:\\TEST");


and I get a IOException - Source and destination path must be different. I have also tried Directory.Move() with the same result.

How is this done? Do I have to create a separate temp directory, move the contained files from the original directory to the temp directory, and then delete the original, and rename the temp directory?

Answer

Well, you don't need to create a separate directory and move everything. Just rename the folder to something different and then back to the name you want:

var dir = new DirectoryInfo(@"F:\test");
dir.MoveTo(@"F:\test2");
dir.MoveTo(@"F:\TEST");