0

我一直在寻找这样的脚本,但我找不到它。我怀疑它与此相似

但不完全是,我不确定如何修改它以适合我。

我有一组具有多个名称的文件,例如......

文件名 Vyear #01(年).ext

文件名 Vyear #01(年份).ext

依此类推,约定总是相同的。

文件名(有时是多个单词)后跟 V 表示版本,然后是括号中的年份,然后是数字,然后是括号中的另一个年份。这很复杂,但这一切都是有原因的。我正在寻找的是一种仅基于该名称的第一部分自动将所有这些文件移动到子文件夹中的方法。所以像这样的文件...

迷雾 V2000 #01 (2011).zip

将被移动到名为 this 的文件夹中。

迷雾V2000

我经常不得不制作这样的文件,我很乐意将它们分类到子文件夹中。我的问题是我不确定如何仅选择名称中的第一个(标题中有两个或三个单词的文件的帐户)和卷号仅用于创建子文件夹,然后匹配移动的文件名.

我希望我能正确解释这一点。如果有人可以提供帮助,我将不胜感激。

干杯。

4

1 回答 1

0

尝试这个。基本上,如果我们知道“#”字符在文件名中的位置,我们就可以计算文件夹名称。然后我们可以得到所有文本到那里 - 2个字符。然后你只需要创建那个文件夹并将文件移动到其中。简单的。祝你好运。

set sourceFolder to choose folder

tell application "Finder"
    set theFiles to files of sourceFolder

    repeat with aFile in theFiles
        set fileName to name of aFile

        if fileName contains "#" then
            set poundOffset to offset of "#" in fileName
            set folderName to text 1 thru (poundOffset - 2) of fileName

            set newFolder to (sourceFolder as text) & folderName & ":"
            if not (exists folder newFolder) then
                make new folder at sourceFolder with properties {name:folderName}
            end if

            move aFile to folder newFolder
        end if
    end repeat
end tell
于 2013-01-26T09:34:37.223 回答