使用AppleScript或Automator从突出显示的文本中删除特定字符

时间:2013-12-02 02:30:23

标签: applescript

我有一个问题,也许有人可以指出我正确的方向。

我希望能够复制文本(主要来自“获取信息”)并使用AppleScript或Automator在文件扩展名之前用“。”替换所有“。”。当我右键单击并选择脚本或自动机服务时,我想使用此服务。

E.G Contraband.2012.DVDRip.htif-NYsIC.avi

将转向

违禁品2012 DVDRip htif-NYsIC.avi

我在这个网站和各个地方到处搜索,但我似乎无法找到我需要的东西。我不知道从哪里开始编写这个脚本。我在Apple脚本中描述的甚至可能吗?我只需要指向正确的方向,我会试着想出其余的事情,我现在正处于亏损状态。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用这样的Run Shell Script操作:

for f; do
  base=${f##*/}
  [[ $base =~ .+\..+ ]] || continue
  noext=${base%.*}
  mv "$f" "${f%/*}/${noext//./ }.${base##*.}"
done

设置"传递输入" to"作为参数"。 ${f##*/}*/开始删除最长的f模式,${f%/*}/*的末尾删除最短的f模式。

你也可以像这样使用Run AppleScript动作:

on run {input}
    repeat with f in input
        set text item delimiters to "."
        tell application "Finder"
            set ti to text items of (get name of (f as alias))
            if number of ti > 2 then
                set AppleScript's text item delimiters to " "
                set name of (f as alias) to (items 1 thru -2 of ti as text) & "." & item -1 of ti
            end if
        end tell
    end repeat
end run