2013-04-11 116 views
0

初學者在這裏。在C中更改目錄路徑#

我有一個目錄結構,在路徑中有一個隨機數的文件夾。

c:\folderA\subfolder\dump1\history\varc:\folderA\subfolder\dump22\history\var

我希望程序動態地讀取每個目錄路徑。所以我將路徑分爲「部分路徑」+「修復路徑」。看代碼。

這樣做是因爲\ dump *是未知數,我不想對其進行硬編碼。

下面的代碼片段的工作和成功,但我想操縱結果中的字符串的一部分。

還有我的問題,我不知道如何將分區字符串c:\更改爲其他內容。也許一個新的分區d:\或UNC路徑\\someserver\fileshare

如果全成,它應該是這樣的:

D:\folderA\subfolder\dump22\history\var 

或者

\\someserver\fileshare\folderA\subfolder\dump22\history\var 

這樣做是爲了讓我可以寫額外的代碼來移動內容從\ var到另一個目錄等。

{ 
    static void Main() 
    { 

     // Grab directory root 

     string[] array1 = Directory.GetDirectories(@"c:\folderA\subfolder\"); 


     // Display all directory paths 
     Console.WriteLine("--- Paths---"); 
     foreach (string name in array1) 
     { 
      // Add Partial Path + Fix Path 

      String CombinePath = (name + "\\history\\var"); 
      Console.WriteLine(CombinePath); 

      //Results 
    //c:\folderA\subfolder\dump1\history\var 
      //c:\folderA\subfolder\dump22\history\var 

      { 

       //pause 
       Console.ReadLine(); 
      } 
     } 
    } 
    } 
} 
+0

也許像[「Directory.SetCurrentDirectory()」](http://msdn.microsoft.com/en-us/庫/ system.io.directory.setcurrentdirectory.aspx)? – paulsm4 2013-04-11 21:50:54

回答

2
CombinePath.Replace(@"C:\", @"D:\"); 
+0

謝謝大家!好的解決方案 。替換可能是關鍵。我會試試看。 – user2272050 2013-04-12 13:23:13

0

您可以定義字典數據結構來保存字符串。如果你不想定義你自己的字符串路徑生成,你可以看看QueryString