【发布时间】:2021-10-25 10:56:26
【问题描述】:
我创建了一个代码来创建带有两个文本框的文件夹。
- Textbox1 - 客户编号 (XXXX)。
- Textbox2 - 客户名称。
我希望能够在创建文件夹之前检查客户编号是否存在。 新创建的文件夹将是两个文本框的组合(这已经解决了)。 我只需要能够确定该文件夹是否仅存在客户编号,因为它可能是使用(客户编号 + 客户名称)创建的。
当前工作代码:
{
string no = textBox1.Text;
string client = textBox2.Text;
string carpeta = @"C:\" + no + " " + client;
string sourcePath = @"C:\main";
string destinationPath = @"C:\" + no + " " + client;
textBox1.Clear();
textBox2.Clear();
try
{
if (Directory.Exists(carpeta))
{
DialogResult y;
y = MessageBox.Show("Folder already exists\nDo you want to open it?", "AE.", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (y == DialogResult.Yes)
{
System.Diagnostics.Process.Start(@"C:\" + no + " " + client);
}
else
{
Close();
}
}
else
{
DialogResult x;
x = MessageBox.Show("The folder doesn't exist\nWant to create a folder?." + "\n" + no + " " + client, "AE.", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (x == DialogResult.Yes)
{
Directory.CreateDirectory(carpeta);
FileSystem.CopyDirectory(sourcePath, destinationPath, UIOption.AllDialogs);
System.Diagnostics.Process.Start(@"C:\" + no + " " + client);
}
else
{
Close();
}
}
}
catch (Exception ex)
{
MessageBox.Show("Error:" + ex.Message);
}
}
【问题讨论】:
-
假设客户编号和姓名用空格隔开,您可以使用
bool exists = Directory.GetDirectories(parentDir, $"{customerNumber} *").Any(); -
旁注:C# 有一个built-in way to combine parts of a path,因此不需要使用
string +操作,并且必须处理丢失或额外的路径分隔斜杠。
标签: c#