2012-04-09 33 views
0

我嘗試製作一個讀取文件夾中的文件並僅佔用部分文件名的applescript。這些文件應該是這樣的:the.name.of.a.tv.show.s01e01在Applescript中獲取字符串的一部分

我可以搜索s01,但是我必須爲每個季節都制定規則。

有什麼方法可以查找s - e - ,然後採取文件的部分之前?

+0

聽起來像是你需要http://www.bulkrenameutility.co.uk/Main_Intro.php - 除非你的目標實際上是使用有限的腳本語言重新發明輪子。如果是這樣的話,看看這些字符串函數的applescript:http://aurelio.net/doc/as4pp.html – Alain 2012-04-09 12:55:18

+0

據我可以看到,僅用於Windows。我不想重命名他們,我需要檢查節目的標題。 – andeersg 2012-04-09 13:12:12

+0

如果您有操作系統限制,您應該將這些以及任何其他相關標籤添加到您的問題中。 – Alain 2012-04-09 13:17:03

回答

0

嘗試:

set xxx to "the.name.of.a.tv.show.s01e01 etc etc" 
set yyy to (do shell script "echo " & xxx & " | sed 's/.s[0-9][0-9]e[0-9][0-9].*//'") 
return yyy 

結合你前面的問題:

set seasonList to {} 
repeat with aShow in listOfShows 
set aShow to aShow as string 
set end of seasonList to (do shell script "echo " & aShow & " | sed 's/.s[0-9][0-9]e[0-9][0-9].*//'") 
end repeat 
return seasonList 
+0

非常感謝,很高興看到一個例子。但是,我不太瞭解正則表達式,我怎麼才能得到s01e01之前的部分而不是s01e01,這是現在返回的值? – andeersg 2012-04-09 18:07:45

+0

試試sed腳本。 – adayzdone 2012-04-09 18:22:07

+0

非常感謝你,那工作:) – andeersg 2012-04-09 19:04:38