2011-11-11 18 views
6

Cómo obtener el nombre de archivo por uno canónica no canónica.C# nombres de archivo Canonical

E.g. Quiero función que convierte a "C:\Program files\..\Windows\aaa.txt""C:\Windows\aaa.txt"

Busco algo como Java File.getCanonicalPath()

+0

está [esto] (http://msdn.microsoft.com/en-us/library/system.io.path.getfullpath.aspx) lo que está buscando? – Reniuz

Respuesta

13

Usted puede utilizar el método Path.GetFullPath para esta llamada.

Ejemplo:

Console.WriteLine(Path.GetFullPath(@"C:\Program files\..\Windows\aaa.txt")); 

de salida:

C: \ Windows \ aaa.txt

+0

archivo no tiene método GetFullPath (ejemplo es correcto) –

+0

@Goran: Gracias. Fue un error tipográfico, que he corregido. Es curioso porque he vinculado a MSDN correctamente y escribí a cabo adecuadamente en el ejemplo también. :) – Ani

+0

Sí, he visto que, por lo que sería malo que tal cosa botín de lo contrario gran respuesta :) –

3
System.IO.Path.GetFullPath("C:/Program files/../Windows/aaa.txt") 

volverá

"C:\\Windows\\aaa.txt" 
1

Aquí está mi sugerencia:

string path = Path.GetFullPath(@"C:\Program files\..\Windows\aaa.txt"); 
Cuestiones relacionadas