c# - 在 C# 中检查是否存在仅具有部分名称的文件夹
问题描述
我创建了一个代码来创建带有两个文本框的文件夹。
- 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);
}
}
解决方案
您也可以每次需要该文件夹时都这样做:
public static void Main()
{
var username = "someuser";
var usernumber = "ABC123";
var mainDirectory = @"C:\Path\To\The\Main\Dir";
var pathToTheUserDirectory = Path.Combine(mainDirectory, $"{username}-{usernumber}");
// This line will create the directory if not exist or take the existing directory.
var directoryInfo = Directory.CreateDirectory(pathToTheUserDirectory);
var directoryPath = directoryInfo.FullName;
// ...
// or
// directoryInfo.Delete(recursive: true);
}
推荐阅读
- javascript - MySQL/MariaDB DELETE 查询昨天运行良好,今天影响 0 行...查询未更改
- python - 拨动开关切换太快键盘模块python
- scala - IntelliJ 无法识别 Scala 的 build.sbt
- azure - 将数据从 azure webapp 发送到两个不同 azure 订阅中的 2 个 azure 应用程序见解
- apache-nifi - 将序列号添加到文件名
- python - Python - 如何将一系列用户输入放入函数中
- linux - 从 Ubuntu 20.04LTS 卸载 Julia
- reactjs - 没有从 React.useEffect 中的 React.useContext 获得正确的值
- python - 将向量转换为矩阵
- javascript - 不使用 forEach 循环高阶函数