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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.