我用:找不到可以創建目錄在C#
public const string WbPlanDirPath = "\\SavedWbPlans";
if (!Directory.Exists(WbPlanDirPath))
{
System.IO.Directory.CreateDirectory(WbPlanDirPath);
}
創建一個目錄。雖然,它似乎工作正常(沒有例外被拋出),我無法找到文件夾/文件夾在文件系統的任何地方。難道我做錯了什麼 ?
我用:找不到可以創建目錄在C#
public const string WbPlanDirPath = "\\SavedWbPlans";
if (!Directory.Exists(WbPlanDirPath))
{
System.IO.Directory.CreateDirectory(WbPlanDirPath);
}
創建一個目錄。雖然,它似乎工作正常(沒有例外被拋出),我無法找到文件夾/文件夾在文件系統的任何地方。難道我做錯了什麼 ?
它應該在當前目錄的卷的根級別上創建。檢查Environment.CurrentDirectory
。
這使得\SavedWebPlans
中的目錄脫離當前工作目錄的卷的根目錄。
"\\SavedWbPlans"
請注意最初的反斜槓。在Windows中路徑的上下文中,這指的是驅動器的根目錄。
因此,根據您的驅動器的根目錄很可能創建了目錄,具體取決於工作目錄的位置。
例如,如果工作目錄是D:\Somewhere\in\the\drive\
,它將被創建爲D:\SavedWbPlans
。
如果您要創建在程序位於同一目錄的目錄,使用下面的代碼來代替:
string directory_of_program = Path.GetDirectoryName(Application.ExecutablePath);
string WbPlanDirPath = Path.Combine(directory_of_program, "SavedWbPlans");
if (!Directory.Exists(WbPlanDirPath))
{
System.IO.Directory.CreateDirectory(WbPlanDirPath);
}
好的和明確的解釋! –
這是在同一個父目錄(目錄包含你的程序)作爲你的程序。
而不是"\\SavedWbPlans";
使用"SavedWbPlans";
這將其保存在當前目錄(相同的目錄中的程序)
CreateDirectory
返回DirectoryInfo
對象指向創建的目錄。
檢查其屬性以找出它的創建位置。
只要嘗試打印您創建的目錄的路徑。 – kunjee
你也可以用'(新的DirectoryInfo(WbPlanDirPath))通過控制檯/ messagebox打印目錄。FullName' –