Résoudre un chemin UNC en c#
Bonjour,
Après plusieurs recherches sur le net,je suis à bout et je demande un coup de pouce.
J'ai crée une fonction en c# qui à partir de mon appli qui se trouve dans D:\MyApplication\Mytest\monAppli.exe,
je construit le chemin absolu à partir d'un chemin relatif d'un fichier.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| public static void resolvepath(string relPathFile)
{
// Open an existing file, or create a new one.
FileInfo fi = new FileInfo("D:\MyApplication\Mytest\monAppli.exe");
// Determine the full path of the file just created.
string fpath = fi.DirectoryName;
// First case.
FileInfo fiCase1 = new FileInfo(Path.Combine(fi.DirectoryName, relPathFile));
//Full path
string fullpathCase1 = fiCase1.FullName;
Console.WriteLine("FullPath is : '{0}'", fullpathCase1);
Console.ReadLine();
} |
Cela marche pour ses cas :
1)Le chemin à résoudre est .\..\..\test\test.txt => D:\test.txt
2)Le chemin à résoudre est .\..\test\test.txt => D:\MyApplication\test\test.txt
Mais je bloque pour ces cas ci dessous qui ne marche pas et surtout le chemin unc :
3)Le chemin à résoudre est test.txt => D:\MyApplication\Mytest\test.txt
4)Le chemin à résoudre est .\..\..\..\test\test.txt => le chemin n'existe pas ( quand il faut remonter plus que le nombre de dossier parent lever une erreur)
5)Le chemin à résoudre est .\..\..\..\..\test\test.txt => le chemin n'existe pas ( quand il faut remonter plus que le nombre de dossier parent lever une erreur)
6)Le chemin à résoudre est \\server\share\folder\test => Récupérer le vrai chemin du fichier dans le serveur.
J'ai essayé avec FileInfo,mais sans succès.
Merci de votre coup de pouce.