gpt4 book ai didi

c# - 更改名称(如果已经存在)

转载 作者:太空宇宙 更新时间:2023-11-03 18:14:25 25 4
gpt4 key购买 nike

如果存在其他具有该名称的文件夹,该如何更改foldername

我以下面的方式尝试了,但是没有用:(

    private int ik;
protected void Button1_Click(object sender, EventArgs e)
{
string folderpath = @"C:\Users\nouser\Documents\Visual Studio 2010\WebSites\folders";
string foldername = TextBox1.Text;
string newPath = System.IO.Path.Combine(folderpath, foldername);
if (Directory.Exists(Path.Combine(folderpath, foldername)))
{
foldername = foldername + Convert.ToString(ik);
ik = ik + 1;
}
else
{
System.IO.Directory.CreateDirectory(newPath);
Response.Write("Folder created");
}
}


此代码能够创建一个新文件夹,但是如果“ newfolder”已经存在,则无法将文件夹名称从“ newfolder”更改为“ newfolder1”。

最佳答案

我假设您想要一些东西,如果您尝试创建一个名为“ foo”的文件夹,但是已经存在一个名为“ foo”的文件夹,那么您希望将新文件夹命名为“ foo1”吗?如果是这样,您将必须检测该文件夹是否存在并为其创建一个新名称。你可以做这样的事情

var count = 1;
var originalPath = newPath;
while(Directory.Exists(newPath)){
newPath = originalPath + count;
count++;
}

Directory.CreateDirectory(newPath);


这可以确保您的新路径尚不存在,如果存在,则将确保您获得文件夹的唯一名称。

在您的示例中,我不确定您对变量的处理方式

ik


我认为这就是您尝试创建唯一目录的位置,但是如果您在那里已经有newFolder1会发生什么呢?这就是为什么您应该使用while循环来继续检查的原因

关于c# - 更改名称(如果已经存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8955011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com