好的,我有一个脚本将alpha通道从一个文件复制到另一个文件。问题在于alpha通道的名称中有_mask有时会导致排序错误。
示例,我有几个文件-
124_CHARCOAL.CR2
124_hangers.CR2
124_INDIGO.CR2
124_RED.CR2
124_TAUPE.CR2
124.CR2
124_CHARCOAL_mask.pdf
124_hangers_mask.pdf
124_INDIGO_mask.pdf
124_mask.pdf
124_RED_mask.pdf
124_TAUPE_mask.pdf
只需使用告诉应用程序"Finder"按名称对myList进行排序将事情(很少)打乱顺序。是否有办法解决这个问题,或者我最好只是添加一些代码,在排序之前从文件名中剥离_mask部分,然后重新添加回来?
解决这个问题可能需要将applesscripts文本项的分隔符设置为"。CR2",然后制作一个主列表,包含CR2列表中每个项目的文本项1,然后手动在这些列表的末尾添加"_mask.pdf",并以这种方式手动生成一个新列表。
set myList to {"124_CHARCOAL.CR2", "124_hangers.CR2", "124_INDIGO.CR2", "124_RED.CR2", "124_TAUPE.CR2", "124.CR2"} -- this is your original sorted list of CR2 files.
set maskList to {} -- prepare an empty list to receive the correctly ordered mask list.
set AppleScript's text item delimiters to ".CR2"
repeat with thisItem in myList
set baseName to text item 1 of thisItem
set maskName to baseName & "_mask.pdf"
copy maskName to end of maskList
end repeat
set AppleScript's text item delimiters to "" -- remember to reset this to nothing
get maskList -- this returns the properly-ordered mask list.
当然,这只会在您的命名约定不偏离您在这里向我们展示的情况下工作。
这个列表在排序不当时是什么样子,它应该是什么样子?