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 :
Cela marche pour ses cas :
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(); }
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.
Partager