C#文件夹,子文件夹和文件未出现在C#Windows应用程序目录路径比较代码中

SomeNewPythonGuy

对于此代码,我希望用户实质上输入两个目录路径,如果文件夹或文件中有任何差异,则直接比较它们,直到C#Windows应用程序中的特定文件夹或文件。我现在拥有的代码仅进入即时文件夹,并且仅列出即时文件(如果它们位于即时文件夹中)。

private void btnCompare_Click(object sender, EventArgs e)
{
    // Clear previous results.
    dgvFiles.Rows.Clear();

    // Get sorted lists of files in the directories.
    string dir1 = txtDir1.Text;
    if (!dir1.EndsWith("\\")) dir1 += "\\";
    string[] file_names1 = Directory.GetFileSystemEntries(dir1);
    for (int i = 0; i < file_names1.Length; i++)
    {
        file_names1[i] = file_names1[i].Replace(dir1, "*.*");

    }
    Array.Sort(file_names1);

    string dir2 = txtDir2.Text;
    if (!dir2.EndsWith("\\")) dir2 += "\\";
    string[] file_names2 = Directory.GetFileSystemEntries(dir2);
    for (int i = 0; i < file_names2.Length; i++)
    {
        file_names2[i] = file_names2[i].Replace(dir2, "*.*");
    }
    Array.Sort(file_names2);

    // Compare.
    int i1 = 0, i2 = 0;
    while ((i1 < file_names1.Length) && (i2 < file_names2.Length))
    {
        if (file_names1[i1] == file_names2[i2])
        {
            // They match. Display them both.
            dgvFiles.Rows.Add(new Object[] { file_names1[i1], file_names2[i2] });
            i1++;
            i2++;
        }
        else if (file_names1[i1].CompareTo(file_names2[i2]) < 0)
        {
            // Display the directory 1 file.
            dgvFiles.Rows.Add(new Object[] { file_names1[i1], null });
            i1++;
        }
        else
        {
            // Display the directory 2 file.
            dgvFiles.Rows.Add(new Object[] { null, file_names2[i2] });
            i2++;
        }
    }

任何帮助,将不胜感激。非常感谢!

Mong Zhu

您可以使用GetFileSystemEntries的重载,该重载采用其他SearchPattern字符串和aSearchOption作为参数。这还将为您提供包含文件的子文件夹:

string[] file_names1 = Directory.GetFileSystemEntries(dir1, "*",
                       SearchOption.AllDirectories);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在C#Windows应用程序中的FTP文件夹中创建子文件夹

构建C ++应用程序(目录和文件夹)

列出C中给定路径中的文件夹,子文件夹和文件(Windows)

在我的应用程序的资产目录中列出所有文件和文件夹(以及子文件夹),并检查资产是文件还是文件夹

文件夹和文件未出现在Eclipse IDE的PHP资源管理器中

从运行 C# Windows 应用程序的 Docker 容器访问主机文件夹路径

无法处理C#中应用程序文件夹路径中的空白

在应用程序目录中创建文件夹

在Android应用程序目录中创建文件夹列表

应用程序和文件夹图标的出现

Android Studio:新创建的目录未出现在文件夹视图中

C#在应用程序配置文件中设置appdata或任何特殊文件夹路径

Postfix / Dovecot Mail出现在日志中,但未出现在其各自的文件夹中

快速静态文件夹中的图像未出现在客户端上

Android Studio测试文件夹未出现在单元测试工件中

从应用程序安装文件夹的子文件夹中读取文件

ASP C#中来自fileUpload的应用程序文件夹中的SaveAs()文件

如何在.NET中将文件和文件夹添加到程序目录?

文件夹不断出现在C盘中

Dropbox ZIP出现在“下载”文件夹中

有没有办法动态定位我当前 c# Winforms 应用程序的子文件夹/子文件的路径更改?

Git存储库文件夹未出现在文件资源管理器中

使用给定文件夹中的源代码创建图像数组C#Windows Desktop

c#内置函数获取bin文件夹的路径,而不是bin\Debug或bin\Release等应用程序文件夹

如何在子文件夹 SharePoint Online C# 中创建子文件夹

JNI C代码中的fopen对于放置在android应用程序中Assets文件夹中的文件失败

如何使用应用程序脚本在子文件夹内的子文件夹中搜索文件?

C#应用程序将文件从GAC复制到执行文件夹

C#搜索文件和文件夹(某些文件夹除外)