如何创建包含项目中所有文件的文件夹?

How do you create a folder containing all the files in a project?

我正在 C# 中创建一个应用程序,它会在启动时显示一个对话框并询问项目名称。同时,我添加了 2 个按钮:CreateExit

如果您按创建,您在 TextBox 中键入的项目名称将以该名称保存在 Documents 文件夹中。项目文件夹内将包含 2 个单独的文件夹,分别称为 imgjs。如果您下次尝试创建一个名称为该文件夹存在的项目,它不会覆盖该文件夹(假设我出现了 MsgBox)。这是代码:

//Unable to create project
        string mydir = Environment.SpecialFolder.MyDocuments + "\" + textBox1.Text;
        if (Directory.Exists(mydir) == true)
        {
                MessageBox.Show("The project name: " + textBox1.Text + " has already been created. Please consider renaming a different project name.", "Netplait", MessageBoxButtons.OK, MessageBoxIcon.Error);
                textBox1.Focus();
                return;
        }

        if (Directory.Exists(mydir) == false)
        {
            Directory.CreateDirectory(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), textBox1.Text));
        }

Environment.SpecialFolder.MyDocuments 是枚举,而不是现有目录的路径。您的代码失败,因为将此枚举值连接到文本框中的字符串毫无意义。

相反,您使用

获得实际的 MyDocument 文件夹
string mydir = Environment.GetFolderPath(Environement.SpecialFolder.MyDocuments);
mydir = Path.Combine(myDir, textBox1.Text);
if(DirectoryExists(myDir))
{
    MessageBox.Show(.....);
    textBox1.Focus();
    return;
}
else
{
    Directory.CreateDirectory(myDir);
}

另请注意,要组合字符串并创建有效路径,最好将此任务留给专门的方法 Path.Combine
顺便说一下,您在代码的 Directory.CreateDirectory 部分就拥有了它。