2017-02-09 9 views
0

Я пытаюсь сделать простое приложение, которое копирует выбранный файл в предопределенный каталог, только переменная не работает при установке в сценарии оболочки. Мне было интересно, есть ли способ выразить команду copy или move, чтобы она вступила в силу. Скрипт ниже.Установить команду в середине скрипта оболочки do

set filepath to POSIX path of (choose file with prompt "Chose your file") 
delay 
do shell script "cp " & filepath & " ~/Library/Application Support/" 

ответ

1

Это не работает, потому что пробелы в пути должны быть экранированы, самый надежный способ заключается в использовании quoted form of.

path to application support folder from user domain - относительный путь к папке поддержки приложений текущего пользователя.

set applicationSupportFolder to POSIX path of (path to application support folder from user domain) 
set filepath to POSIX path of (choose file with prompt "Chose your file") 
do shell script "cp " & quoted form of filepath & space & quoted form of applicationSupportFolder 
+0

Благодарим за быстрый ответ. Это здорово, и теперь у меня есть программа! Это было именно то, что мне нужно! Благодаря! – user7439349