2010-04-07 38 views
11

Göreli yollar aldığını ve tüm dosya adlarını tükettiğinde veya geçersiz girdi için bir hata oluştuğunda bir VB.NET konsol uygulaması yazıyorum. Ben göreli yolundan alma konusunda sorun FizikselYol yaşıyorumVB.NET'teki mutlak yol için göreli yol

Örnek:

  1. Ben klasöründe duyuyorum C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj\bin\Debug

  2. başvurum, SP.exe, aynı klasörde aynı zamanda.

  3. Çalışıyorum: "SP.exe ..\". Çıktı "C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj\bin"

  4. klasöründeki tüm dosyaların bir listesi olacaktır: "SP.exe ..\\..\". Çıkış, "C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj"

  5. klasöründeki tüm dosyaların bir listesi olacaktır: "SP.exe ..\\..\\..\". çıkış "C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol"

Şu anda bir göreli yolu taşıma am klasördeki tüm dosyaların bir listesini olacak, ama artık:

If Source.IndexOf("..\") = 0 Then 
     Dim Sibling As String = Directory.GetParent(Directory.GetCurrentDirectory()).ToString()()) 
     Source = Source.Replace("..\", Sibling) 
    End If 

nasıl kolayca birden ..\ işleyebilir?

cevap

22

System.IO.Path.GetFullPath() adlı kullanıcıyı arıyor. Her türlü göreceli yolu ele almalıdır.

+0

+1, Bana onu döv! :) –

+0

Teşekkürler, Çalıştı! –

+0

@Mehdi: Bu sorunun sizin için bir çözüm olduğunu düşündüğünden, yukarı/aşağı oklarının yanındaki soldaki onay işaretini kullanarak yanıt olarak işaretlemek iyi bir fikir olacaktır. –

İlgili konular