如果.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'的問題。 –