如果.CID文件名的一部分与目录名的一部分相匹配,我想将其移动到目录中。C#如果文件名的一部分与文件夹名称匹配,将文件移动到文件夹中
下面是一些示例目录:
S002016-P063 // projectnumber-panelnumber
S002016-P066
S002016-P067
下面是一些示例文件名:
P063-1.LEFT.CID // move to S002016-P063 directory
P063-10.RIGHT.CID // move to S002016-P063 directory
P066-2_P066-5.LEFT.CID // move to S002016-P066 because P066 == P066
P067-12.LEFT.CID // move to S002016-P067
P067-5_P063-2.RIGHT.CID // leave file where it’s at because P067 != P063
现在我身体这些文件移动到相应的目录,但我以为这是可以做到用控制台应用程序。我想知道如果我需要设置一些if语句使用正则表达式类,也许匹配方法?我是C#的新手,想要一些帮助入门。这是我到目前为止。基本上,控制台应用程序将列出指定目录中的目录和文件。
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello and Welcome to the File Sorting Program"); // Displays Text in Quotes
Console.WriteLine(); // Adds a Space
string[] fileEntries = Directory.GetDirectories(@"\\Users\none\Documents\File Sorter"); // Regex for panel number = -([A-Z0-9a-z\-]+)
System.Console.WriteLine("Directories in the Folder: ");
Console.WriteLine(); // Adds a Space
foreach (string fileName in fileEntries)
{
Console.WriteLine(Path.GetFileName(fileName)); // Lists the directories found in the "File Sorter" directory
}
Console.WriteLine(); // Adds a Space
Console.WriteLine(); // Adds a Space
string[] files = Directory.GetFiles(@"\\Users\none\Documents\File Sorter", "*.CID"); // Regex for panel number = ([A-Z0-9a-z\-]+)-
System.Console.WriteLine("Files in this Folder: "); // Displays Text in Quotes
Console.WriteLine(); // Adds a Space
foreach (string file in files)
{
Console.WriteLine(System.IO.Path.GetFileNameWithoutExtension(file)); // Lists each file minus .CID found in the "File Sorter" directory
}
Console.WriteLine("Press any key to exit."); // Displays Text in Quotes
System.Console.ReadKey();
}
}
这不是一个问题,你甚至遇到问题?如果是这样,那是什么?请更具体一些,人们不会简单地完成您的代码。我只能说使用'正则表达式'是正确的。 – Mat
我的代码没有遇到问题。感谢您回答关于'regex'的问题。 –