пакетное переименование элементов в подпапках с помощью скрипта Apple

Я пытался весь день сделать следующее: У меня есть папка с 99 подпапками. в каждой подпапке есть файл PDF, и все они должны быть переименованы, чтобы носить одно и то же имя. теперь они названы непрерывными числами. Я делаю все свои вещи с автоматом, так как я новичок в написании сценариев. но я вроде как не люблю отказываться от проблемы. гугление не принесло хороших решений. Я пытался разобраться в примерах сценариев и изменить их, но безуспешно. короткая попытка была:

tell application "Finder"
    set selected to selection
    open selected
    get files of folders of selected
    set name of files of folders to "anschreiben"
end tell

Я также пробовал:

tell application "Finder"
    set selected to selection
    open selected
    set mlist to every folder of selected
    set current_folder to first item of selected
    set xxx to first item of current_folder
    set name of xxx to "yyy"
    repeat with this_folder in mlist
        open current_folder
        set item 1 to item of current_folder
    end repeat
end tell

, но это переименовало первую папку в yyy и выдало ошибку, что имя файла уже задано (потому что он переименовывает подпапки, а не файлы внутри)

ТАК... как мне перейти на уровень глубже и переименовать все файлы в подпапках??

Спасибо, ребята, я знаю, что это, вероятно, легко для вас.


person Marco Meissner    schedule 13.10.2012    source источник


Ответы (2)


Ищите "все содержимое"

set newName to "New.pdf"

tell application "Finder"
    set myFiles to every file of (entire contents of (first item of (selection as alias list)))
    repeat with aFile in myFiles
        set aFile's name to newName
    end repeat
end tell
person adayzdone    schedule 13.10.2012
comment
Спасибо за быстрый ответ. этот код, однако, снова оставляет меня только с переименованием первой подпапки, а затем выдает ошибку «имя уже существует» при попытке изменить вторую подпапку. но я продолжаю изучать весь намек на содержание! каждый по нитке! - person Marco Meissner; 14.10.2012

сделано! Благодаря вам и еще одному-двум профессионалам у меня теперь есть прекрасный скрипт массовой рассылки, использующий автоматизатор, строку bash и (в основном) applescript. Я использую его для приложений о работе, но вы можете использовать его в любом случае, когда вам нужна индивидуальная массовая рассылка электронной почты с Mail, MS Word и любым заданным списком контактов в Excel (или адресной книгой, если на то пошло). Для полноты я добавлю все необходимые шаги. с любым заданным списком x имен, адресов электронной почты, личных адресов вы можете создать x подпапок, содержащих x персонализированных писем и неперсонализированных документов. как только вы запустите последний скрипт и выберете папку, вы сможете увидеть, как почта рассылает их все, обращаясь к человеку по имени и прикрепляя правильное персонализированное письмо (вы участвовали в этой части, adayzone!)! Он исправляет иностранное написание имени, которое по-разному отображается в адресе электронной почты. Это лучше всего работает для адресов электронной почты, использующих фамилию перед «@», и теперь может игнорировать имя, если оно установлено перед фамилией (например, имя.фамилия@компания.com). Всем большое спасибо за помощь! это была большая командная работа. Я опубликую его, как только буду дома, я должен добавить его здесь или на другом форуме (для обмена кодом)?

person Marco Meissner    schedule 24.10.2012
comment
Рад помочь. Если я ответил на ваш вопрос, примите его, чтобы другие знали, что вопрос больше не открыт. - person adayzdone; 31.10.2012
comment
извините - скоро опубликую окончательный сценарий! - person Marco Meissner; 31.10.2012