A bit hard to explain.
Forgot to add a backslash after the colon while trying to create a directory. Received no error but couldn’t find the created folder.
using System.IO;
private static void CreateWrongDirectory()
{
var falseCPath = @"C:TempMyTest";
var falseDPath = @"D:TempMyTest";
var currentDirectoryD = @"D:TempCurrentDirectory";
Directory.CreateDirectory(currentDirectoryD);
Directory.SetCurrentDirectory(currentDirectoryD);
Console.WriteLine($"Working Directory: {Directory.GetCurrentDirectory()}");
Console.WriteLine();
Console.WriteLine($"Trying to create "{falseCPath}"");
var di = Directory.CreateDirectory(falseCPath);
Console.WriteLine($"Created "{di.FullName}"");
di.Delete();
Console.WriteLine($"Trying to create "{falseDPath}"");
di = Directory.CreateDirectory(falseDPath);
Console.WriteLine($"Created "{di.FullName}"");
di.Delete();
Console.WriteLine();
var currentDirectoryC = @"C:TempCurrentDirectory";
Directory.CreateDirectory(currentDirectoryC);
Directory.SetCurrentDirectory(currentDirectoryC);
Console.WriteLine($"Working Directory: {Directory.GetCurrentDirectory()}");
Console.WriteLine();
Console.WriteLine($"Trying to create "{falseCPath}"");
di = Directory.CreateDirectory(falseCPath);
Console.WriteLine($"Created "{di.FullName}"");
di.Delete();
Console.WriteLine($"Trying to create "{falseDPath}"");
di = Directory.CreateDirectory(falseDPath);
Console.WriteLine($"Created "{di.FullName}"");
di.Delete();
}
Output is:
Working Directory: D:TempCurrentDirectory
Trying to create "C:TempMyTest"
Created "C:TempMyTest"
Trying to create "D:TempMyTest"
Created "D:TempCurrentDirectoryTempMyTest"
Working Directory: C:TempCurrentDirectory
Trying to create "C:TempMyTest"
Created "C:TempCurrentDirectoryTempMyTest"
Trying to create "D:TempMyTest"
Created "D:TempMyTest"
How come that depending on the current directory and drive letter a “wrong” path once gets created and the other time not?