Estoy escribiendo una aplicación de consola VB.NET donde toma rutas de acceso relativas y escupe todos los nombres de los archivos, o un error de entrada no válida. Estoy teniendo problemas para conseguir PhysicalPath de ruta relativaRuta relativa a la ruta absoluta en VB.NET
Ejemplo:
estoy en carpeta
C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj\bin\Debug
Mi solicitud,
SP.exe
, también está en la misma carpeta.Ejecuto:
"SP.exe ..\"
. El resultado será una lista de todos los archivos en la carpeta"C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj\bin"
Ejecuto:
"SP.exe ..\\..\"
. El resultado será una lista de todos los archivos en la carpeta"C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj"
Ejecuto:
"SP.exe ..\\..\\..\"
. La salida será una lista de todos los archivos en la carpeta"C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol"
Actualmente estoy manejando una ruta relativa, pero no más:
If Source.IndexOf("..\") = 0 Then
Dim Sibling As String = Directory.GetParent(Directory.GetCurrentDirectory()).ToString()())
Source = Source.Replace("..\", Sibling)
End If
¿Cómo se puede manejar con facilidad múltiples ..\
?
+1, ¡pásame! :) –
Gracias, funcionó! –
@Mehdi: como parece que fue la solución a su problema, sería una buena idea marcarlo como la respuesta usando la marca de verificación a la izquierda junto a las flechas arriba/abajo. –