Dans mon programme, j'ai besoin de vérifier que plusieurs chemins d'accès aux fichiers se trouvent dans le dossier des fichiers temporaires du système (par exemple C: \ Users \ Roman \ AppData \ Local \ Temp). Je n'ai trouvé aucune méthode dans System.IO.File, System.IO.Directory et System.IO.Path cours de le faire. J'ai donc créé le mien:Existe-t-il un moyen simple de vérifier qu'un chemin d'accès à un fichier se trouve dans un dossier donné (framework .NET)?
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;
}
Mais je ne suis pas sûr que cela fonctionnera toujours. Existe-t-il une autre solution simple en plus de parcourir l'arborescence des dossiers et de vérifier que chaque dossier enfant existe et que son dossier parent est TEMP?
Il le fait déjà. GetFullPath() –