gpt4 book ai didi

c# - 仅当具有唯一 11 字符代码的所有文件都存在时才处理文件

转载 作者:太空宇宙 更新时间:2023-11-03 20:50:58 24 4
gpt4 key购买 nike

我正在使用 ERP BEXT。 BEXT 生成 4 种文件,必须在服务器上导入。所有文件名都包含特殊的 11 个字符 代码,如下图所示。

An exemple of the 4 kind of files.

导入之前,文件。我需要检查 4 文件是否存在。

我想过使用方法:GetFileNameWithoutExtension 并使用方法Substring 来获取 4 文件名,但我有点迷路了。因为您不能在表格上使用 Substring

string[] txt = Directory.GetFiles("C:/Users/ngallouj/Desktop/Script/test", "*.txt").Select(Path.GetFileNameWithoutExtension).ToArray();
string[] top = Directory.GetFiles("C:/Users/ngallouj/Desktop/Script/test", "*.txt").Select(Path.GetFileNameWithoutExtension).ToArray();

for (int i = 0; i < txt.Length;i++)
{
i++;

Console.WriteLine("Fichier de Type 1 : " + txt[i - 2]);

for (int j = 0; j < top.Length; j++)
{
j++;
Console.WriteLine("Fichier Type 2 :" + top[j - 1]);

if (txt[i - 1] == top[j - 1])
{
System.Diagnostics.Process.Start("//ALICE/interface.exe");
//The Batch sort the files, without issue.
}
else
{
//No matc exiting the P.
}
}
}
Console.ReadLine();

我们将不胜感激任何形式的帮助。

感谢阅读。

最佳答案

以下代码将为您提供一个字典,其中的键是文件 ID,值是它在目录中遇到该文件 ID 的次数。

    public string ExtractIDFromFileName(string filename)
{
return filename.Split('_').Last();
}

public Dictionary<string,int> GetDictOfIDCounts()
{
List<string> allfiles = Directory.GetFiles("C:/Users/ngallouj/Desktop/Script/test", "*.txt").Select(Path.GetFileNameWithoutExtension).ToList();
allfiles.AddRange(Directory.GetFiles("C:/Users/ngallouj/Desktop/Script/test", "*.top").Select(Path.GetFileNameWithoutExtension).ToList());
Dictionary<string, int> dict = new Dictionary<string, int>();

foreach(var x in allfiles)
{
string fileID = ExtractIDFromFileName(x);
if (dict.ContainsKey(fileID))
{
dict[fileID]++;
}
else
{
dict.Add(fileID, 1);
}
}
return dict;
}

您所要做的就是检查您需要的 ID 是否实际上已被找到 4 次,并且这些 ID 就是您导入的 ID。

关于c# - 仅当具有唯一 11 字符代码的所有文件都存在时才处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55279211/

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