Скопируйте файл в AppleScript - PullRequest
1 голос
/ 27 февраля 2011

У меня есть код ниже, чтобы установить переменную в Applescript для пути к музыкальной папке iTunes:

set username to text returned of (display dialog "RingtoneDude" default answer "Enter your path to your iTunes Ringtones folder here. e.g. /Users/David/Music/iTunes/iTunes Music/Ringtones" buttons {"Confirm", "Cancel"} default button 1)

И тогда у меня есть код для вызова переменной username для копирования файла

tell application "Finder"
                copy file theCopy to username
            end tell

но файл theCopy, находящийся на рабочем столе (theCopy - это переменная), не перемещается в папку.

Пожалуйста, помогите.

Ответы [ 2 ]

4 голосов
/ 06 июля 2011

Полагаю, вы неправильно поняли команду copy. Команда copy используется для переноса содержимого одной переменной в другую переменную. Вам нужно использовать команду duplicate, которая используется для копирования файлов в указанное место. Его синтаксис выглядит следующим образом:

duplicate [alias] to [alias]
   [replacing boolean] --If true, replaces files in the destination with the same name

Сказав это, ваш новый код в сочетании с ответом Урии Карпентер должен выглядеть примерно так:

set myRingtoneFolder to choose folder with prompt "Select your iTunes Ringtone folder:"
tell application "Finder" to duplicate theCopy to myRingtoneFolder
3 голосов
/ 27 февраля 2011

Я бы посоветовал вам использовать choose folder, который возвращает alias.

Чтобы превратить некоторый текст в объект псевдонима, используйте set myAliasPath to myTextPath as alias.

Для получения более подробной информации см. Псевдонимы и файлы в документации AppleScript.

...