如何使用automator重命名多个文件夹/子文件夹内容而不影响文件夹本身?

时间:2017-05-09 16:51:43

标签: rename file-rename automator finder batch-rename

我尝试使用automator重命名一堆文件,因此它们是顺序的。所有文件的顺序都是正确的。

我试过了:

  1. 获取选定的Finder项目

  2. 获取文件夹内容(已检查每个子文件夹的重复次数)

  3. 重命名Finder项目:Make Sequential

  4. 我给每个项目一个新名称,因此它显示为3位数字(001.xxx)并从那里继续。

    我只想重命名文件夹内容。例如。我有一个包含10个子文件夹的文件夹。在每个子文件夹中有20个图像,其名称类似于image001,image002等。我想将图像重命名为001,002,003。但我想重新开始每个子文件夹。

    当我运行上面的automator脚本时,它将重命名第一个子文件夹001,然后它将命名第一个子文件夹002中的第一个图像(image001)。最后一个图像(image020)将是021,然后第二个子文件夹将重命名为022,它的第一个图像(image001)将被重命名为023,依此类推。

    如何让它单独保留子文件夹的名称并重命名内容(image001 = 001等),但是一旦完成第一个子文件夹中的20个图像,它就会转到第二个子文件夹并命名为图像001到020以及?

    感谢您的时间。

1 个答案:

答案 0 :(得分:0)

这对Automator来说太过分了;它无法执行这种重复。但是,AppleScript是一项简单的工作:

set f to choose folder -- Select Master Folder

tell application "Finder"
    set subF to every folder of folder f
    repeat with eachFolder in subF
        set counter to 1
        set allFiles to (every file of eachFolder)
        repeat with oneFile in allFiles
            set newFileName to my pad(counter, 3)
            set correctExtension to oneFile's name extension
            set oneFile's name to (newFileName & "." & correctExtension)
            set counter to counter + 1
        end repeat
    end repeat
end tell

on pad(num, howLong)
    set thisNum to num as text
    set c to count thisNum
    repeat howLong - c times
        set thisNum to "0" & thisNum
    end repeat
    return thisNum as text
end pad

这应该有用;它是我过去使用的脚本的修改。但是,在真实文件上运行之前,先在某处复制一下,然后在这里回复,如果有问题的话。