Вы хотите, чтобы система нашла файл для вас. Я делаю это, притворяясь, что не знаю точного пути, то есть система search :
var fileName = Path.GetFileName(filePath);
var dir = Path.GetDirectoryName(filePath);
var filePaths = Directory.GetFiles(dir, fileName, SearchOption.TopDirectoryOnly);
var caseCorrectedFilePath = filePaths.FirstOrDefault();
Таким образом, мы ищем в каталоге, фильтруем по точному имени файла и ограничиваем поиск только текущим каталогом (без рекурсии).
Возвращает строковый массив, содержащий либо единственный путь к файлу с правильным регистром (если файл существует), либо ничего (если файл не существует).
Одно предупреждение: вам может потребоваться запретить использование подстановочных знаков в пути ввода, поскольку этот подход принимает их и в результате может найти несколько файлов.
Редактировать
Кажется, что буква диска все еще следует за предоставленным нами регистром. Кроме того, это необходимо проверить на пути UNC.