2017-02-09 19 views
0

Ich habe versucht, eine einfache Anwendung zu machen, die kopiert eine ausgewählte Datei in einem vorgegebenen Verzeichnis, nur die Variable funktioniert nicht, wenn in einem Shell-Skript festgelegt. Ich frage mich, ob es einen Weg Begriff ist die Kopie oder einen Befehl bewegen, damit sie wirksam werden. Das Skript ist unten.Befehl Set in der Mitte do shell script

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

Antwort

1

Es funktioniert nicht, weil Leerzeichen in Pfaden entwertet werden müssen, ist der zuverlässigste Weg quoted form of zu verwenden.

path to application support folder from user domain ist der relative Pfad zur Anwendungsunterstützung Ordner des aktuellen Benutzers.

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

Danke für die schnelle Antwort. Das ist großartig und ich habe jetzt das Programm funktioniert! Das war genau das, was ich brauchte! Vielen Dank! – user7439349