Tôi đang cố gắng viết một hàm thành viên tĩnh trong C# hoặc tìm một trong .NET Framework sẽ tái xử lý đường dẫn tệp tới hệ thống tệp chỉ định.C# Filepath Recasing
Ví dụ:
string filepath = @"C:\temp.txt";
filepath = FileUtility.RecaseFilepath(filepath);
// filepath = C:\Temp.TXT
// Where the real fully qualified filepath in the NTFS volume is C:\Temp.TXT
Tôi đã thử đoạn mã sau đây và nhiều biến thể của nó và nó vẫn không hoạt động. Tôi biết Windows không phân biệt chữ hoa chữ thường nhưng tôi cần phải chuyển các đường dẫn tệp này đến ClearCase, xem xét vỏ đường dẫn tệp vì nó là ứng dụng Unix và Windows.
public static string GetProperFilePathCapitalization(string filepath)
{
string result = "";
try
{
result = Path.GetFullPath(filepath);
DirectoryInfo dir = new DirectoryInfo(Path.GetDirectoryName(result));
FileInfo[] fi = dir.GetFiles(Path.GetFileName(result));
if (fi.Length > 0)
{
result = fi[0].FullName;
}
}
catch (Exception)
{
result = filepath;
}
return result;
}
Do ClearCase. Tôi đã nói điều đó trong câu hỏi. –