В моей программе мне нужно проверить, что несколько путей к файлам находятся в системной папке временных файлов (например, C: \ Users \ Roman \ AppData \ Local \ Temp ).
Я не нашел никакого метода в классах System.IO.File , System.IO.Directory и System.IO.Path . Итак, я создал свой собственный:
public static bool IsSafeToDeleteFileOrDirectory(string path)
{
try
{
string tempPath = Path.GetFullPath(
Path.Combine(Path.GetTempPath(), ".\\")
);
string fullPath = Path.GetFullPath(path);
return fullPath.StartsWith(tempPath) &&
fullPath.Length > tempPath.Length;
}
catch (Exception ex)
{}
return false;
}
Но я не уверен, будет ли это всегда работать.
Есть ли другое простое решение помимо обхода дерева папок и проверки того, что каждая дочерняя папка существует и ее родительская папка - TEMP?