2010-09-11 42 views
0

Directory.CreateDirectory(@「C:\ test」);如何在C#中使用變量名創建文件夾?

工程很好。我可以創建文件夾。但下面的代碼不起作用。

using System; 
using System.IO; 
class iolar 
{ 

public static void klasorOlustur() 
{ 
    Console.WriteLine("Oluşturmak istediğiniz BİRİNCİ klasörün adı?"); 
    string a=Console.ReadLine(); 
    Console.WriteLine("oluşturmak istediğiniz İKİNCİ klasörün adı?"); 
    string b=Console.ReadLine(); 
    Console.WriteLine("Klasörler oluşturuluyor.. Lütfen bekleyin..."); 

    string klasorYolu="@\"H:\\"+a+"\""; 
    string klasorYolu2="\""+b+"\""; 

    DirectoryInfo klasorcuk=new DirectoryInfo(klasorYolu); 
    Console.Write(klasorYolu); 
    if(klasorcuk.Exists==false) 
    { 
    klasorcuk.Create(); 
    Console.WriteLine("İlk klasör oluşturuldu..."); 
    DirectoryInfo klasorcuk2=klasorcuk.CreateSubdirectory(klasorYolu2); 
    Console.WriteLine("İkinci klasör de oluşturuldu..."); 

    } 

} 

static void Main() 
{ 
    klasorOlustur(); 
} 
} 

我得到「未處理的異常:System.ArgumentException:路徑中的非法字符。」錯誤。我發現了一些關於「路徑類」的東西,但我無法得到明確的答案。

我該怎麼辦?

回答

3
string klasorYolu="@\"H:\\"+a+"\""; 

不要讓字符串內容看起來像你在C#程序中寫的東西。這應該看起來更像:

string klasorYolu = @"H:\" + a; 

請務必使用Path.Combine()方法,它需要把反斜線在正確的地方的照顧。

+0

上帝..非常感謝你..今天一直在我的幾個小時:o | – scaryguy 2010-09-11 15:35:00

1

嘗試

string klasorYolu = "H:\\" + a; 
string klasorYolu2 = b; 

沒有必要添加這些@"當你已經是一個字符串字面內。

+0

是的,它的工作,謝謝你:o) – scaryguy 2010-09-11 15:35:27

相關問題