我可以通过执行以下操作获取文件夹中所有文件的名称:
tell application "Finder"
set myFiles to name of every file of somePath
end tell
如何更改字符串以myFiles
使其不包含文件扩展名?
例如,我可以得到{"foo.mov", "bar.mov"}
,但想拥有 {"foo", "bar"}
。
当前解决方案
根据接受的答案,我想出了下面的代码。让我知道它是否可以以某种方式变得更清洁或更高效。
-- Gets a list of filenames from the
on filenames from _folder
-- Get filenames and extensions
tell application "Finder"
set _filenames to name of every file of _folder
set _extensions to name extension of every file of _folder
end tell
-- Collect names (filename - dot and extension)
set _names to {}
repeat with n from 1 to count of _filenames
set _filename to item n of _filenames
set _extension to item n of _extensions
if _extension is not "" then
set _length to (count of _filename) - (count of _extension) - 1
set end of _names to text 1 thru _length of _filename
else
set end of _names to _filename
end if
end repeat
-- Done
return _names
end filenames
-- Example usage
return filenames from (path to desktop)