2016-02-08 3 views
0

Итак, у меня есть каталог, в который пользователи копируют папки. Я хотел бы настроить автоматический способ копирования предопределенного каталога в любую папку, добавленную в исходную корневую папку.Mac Скопировать каталог в любой каталог, созданный в другом каталоге

объяснить, что я имею в виду:

У меня есть корневая папка /Root. Пользователи могут скопировать любую папку, которая им нравится, в /Root. Когда они это сделают, я хочу скопировать папку /Addins/Images в каталог /Root/<user created folder>/ автоматически. Результат должен быть /Root/<user created folder>/Images - включая все подкаталоги и файлы в папке /Addins/Images.

Я слышал, что автомат может это сделать, но понятия не имеет, как его использовать. Любая/вся помощь оценивается.

ответ

1

Вы можете сделать это с помощью Automator или Applescript, используя папку действий.

Applescript ниже копирует папку Images (находится в Addins) в любую новую папку, добавленную в папку MyRoot.

on adding folder items to myRoot after receiving FileList 
set Addins to POSIX path of "Users:your_path:Addins:Images" 
set Folderkind to "folder" -- value depends of your system language 
tell application "Finder" -- loop on each item aded into the folder 
repeat with one_Item in FileList 
    if (kind of one_Item) is Folderkind then -- user has added a folder 
     do shell script "cp -R " & (quoted form of Addins) & " " & quoted form of (POSIX path of one_Item) 
    end if 
end repeat -- end loop on each added item 
end tell 
end adding folder items to 

Вы должны изменить путь к своей папке Addins/Images (строка 2).

После компиляции в редакторе Applescript вы сохраняете этот скрипт в сценариях ~ library/Scripts/Folder Action Scripts. Затем в Finder выберите папку «/ root» и щелкните правой кнопкой мыши, чтобы добавить в нее действие папки (действие этой папки!). Затем каждый раз, когда в эту папку будет добавлена ​​папка, сценарий будет запущен. (Из-за «если» строка 6 она будет работать только при добавлении папки, а не в простой файл)

Предупреждение: I Меня беспокоит папка/root, которую вы используете, и я надеюсь, что это не настоящая корневая папка, а просто пример. Если нет, у вас будут проблемы с авторизацией с реальной корневой папкой.

+0

Благодарим за быстрый ответ. Да, папка «root» - это всего лишь пример. Я проведу это сегодня вечером и отчитаю. Еще раз спасибо. – user1542125

+0

Я только что протестировал ваш скрипт. Он работает, за исключением того, что он копирует папку «Изображения» в корень каталога, когда у меня работает действие папки, мне нужно, чтобы она копировалась в новую папку внутри корневой папки. Если это имеет смысл. – user1542125

+0

Я обновил первый скрипт, изменив в строке сценария do shell слово «myRoot» словом «one_item». затем папка «Изображения» будет скопирована в добавленную папку. – pbell

Смежные вопросы