我正在爲家庭項目製作一個簡單的控制檯應用程序。基本上,它監視一個文件夾是否添加了任何文件。也許我需要一個正則表達式?
FileSystemWatcher fsw = new FileSystemWatcher(@"c:\temp");
fsw.Created += new FileSystemEventHandler(fsw_Created);
bool monitor = true;
while (monitor)
{
fsw.WaitForChanged(WatcherChangeTypes.Created, 1000);
if(Console.KeyAvailable)
{
monitor = false;
}
}
Show("User has quit the process...", ConsoleColor.Yellow);
當一個新的文件到達時,「WaitForChanges」被調用,然後我就可以開始工作。
我需要做的是檢查模式的文件名。在現實生活中,我將視頻文件放入此文件夾中。基於文件名,我將有規則,將文件移動到特定的目錄中。所以現在,我將有一個KeyValue對的列表...持有RegEx(我認爲?)和一個文件夾。所以,如果文件名與正則表達式匹配,它會將它移動到相關的文件夾中。
文件名的一個例子是:
CSI- NY.S07E01.The 34th Floor.avi
所以,我的正則表達式需要看它,看看的話CSI「和」(NY「或」紐約「或」紐約)存在。如果他們這樣做,我會將它們移動到\Series\CSI\NY\
文件夾。
我所需要的,並且由於不同系列的另一個文件的例子是:
CSI- Crime Scene Investigation.S11E16.Turn On, Tune In, Drop Dead
所以,這一個,我需要有若干註記。所以,我需要檢查文件名是否有CSI,但不是(「紐約」或「NY」或「紐約」)
有人可以幫助我使用這些RegEx嗎?或者,也許有更好的方法?
嗯。在我看來,我真的不認爲正則表達式是在這種情況下最好的選擇:(在數 – 2011-05-14 07:42:33
採取順序相匹配,我的意思是,你會如何表達'str.Contains(「A」)&& str.Contains(「B」)'與正則表達式? – 2011-05-14 08:09:05
@Oscar - 我不確定它是否也是。但是正則表達式很有用,OP至少在考慮它們時是正確的 – 2011-05-14 09:08:28