2012-07-17 95 views
0

我正在爲我下載字幕的文件夾製作文件監視器。到目前爲止,它的工作原理如下:模式匹配和字符串操作

在文件夾中查找新的.rar文件。

如果發現,提取字幕,並刪除.rar文件

如果提取單個.srt文件,,文件名保存到一個變量。


現在,我茫然不知如何實現腳本的下一個(也是最後一次)的一部分:

我想找到基於字幕的命名方式的模式。

比方說,字幕文件可以是這樣的:

SomeShow.1x03.stuff.srt

some_show s01e03-stuff.srt

一些顯示1-03 stuff.srt

我想得到像這樣的東西:SomeShow 1 3並基於此,開始與該模式匹配的名稱,我gu ess將是一個基於.srt文件的名稱來反轉用於獲取Show,season和episode的過程的問題。

這可能嗎?這在大多數語言中都是非常簡單的東西,但我真的需要這是一個.bat,我對如何解決這個問題毫無頭緒......到目前爲止,我所做的一切就是將擴展從變量。

在此先感謝。

+0

你可以編寫一個控制檯程序(例如C++),然後從.Bat文件(將文件名作爲參數傳遞給.EXE文件)調用該程序?該解決方案是否有效? – Ahmad 2012-07-18 05:37:09

回答

0

批處理文件是圖靈完成的 - 你可以在它們中做任何事情,但通常不是明智的做法。您可以將sedgrep或您自己的二進制文件與您的.bat文件一起打包,以便在批量和功能之間妥善妥協。如果您可以假設一個合適的操作系統,那麼您將安裝Powershell並轉到該路線。

您應該認識到任務沒有完全定義,並且「解決方案」可能需要進行一些調整,並且不夠健壯。

因此,您可以選擇的語言越豐富,您會得到越深的語言。

+0

我和你在一起,直到最後一句。如果要求沒有經過深思熟慮,使用更豐富的語言根本沒用。 – dbenham 2012-07-18 00:29:09

+0

@dbenham - 但這個任務不是火箭科學,它只會涉及新命名模式的發現。有些人可能因無法解決(不包含所需信息)而終止該項目,其他人可能因爲太複雜而無法在所選語言中解析而終止該項目。我不希望在這裏有完美的解決方案。 – 2012-07-18 05:27:20

+0

我想我必須去用不同的語言。如果不清楚,我想要的是.bat文件的某種正則表達式功能,而不需要外部庫或文件;幾乎是一個獨立的。可以將所有字幕文件名變爲三個值:顯示名稱,季節和劇集,然後在此文件夾上再次搜索並查找與這些值相匹配的視頻文件。但是,是的,也許一個.bat不是完成任務的最佳工具,特別是當我幾乎不知道它的基礎知識時。不管怎麼說,還是要謝謝你。 – Senekis 2012-07-18 19:12:55