这有效:
do shell script "cURL -f http://mydomain/myfile.txt -o ~/Library/'Group Containers'/UBF8T346G9.Office/myFile.txt"
但扩展目标路径以包含第二个带引号的文件夹失败:
do shell script "cURL -f http://mydomain/myfile.txt -o ~/Library/'Group Containers'/UBF8T346G9.Office/'User Content'/myFile.txt"
提出错误:
警告:无法创建文件/ Users / [username] / Library / Group
在这两种情况下,在单引号中包装完整路径也会在路径的相同“组”部分失败,例如:
do shell script "cURL -f http://mydomain/myfile.txt -o '~/Library/Group Containers/UBF8T346G9.Office/myFile.txt'"
我做错了什么?
答案 0 :(得分:1)
您可以简单地使用反斜杠来转义路径中的空格。例如,
do shell script "cURL -f http://mydomain/myfile.txt -o ~/Library/Group\\ Containers/UBF8T346G9.Office/User\\ Content.localized/Chart\\ Templates.localized/myFile.txt"
您还可以使用命令quoted form of the POSIX path of theInput
来正确转义变量theInput
中给出的路径。有关详细信息,请参阅Apple Technical Note TN2065的“处理文件”部分do shell script in AppleScript。
答案 1 :(得分:1)
我发现解决方案是使用第二个文件夹的正确名称! 这显示为"用户内容"在Finder中,但在使用右键单击/信息进行检查时,实际上是" User Content.localized"。所以这有效:
do shell script "cURL -f http://mydomain/myfile.txt -o ~/Library/'Group Containers'/UBF8T346G9.Office/'User Content.localized'/myFile.txt"
这样做:
do shell script "cURL -f http://mydomain/myfile.txt -o ~/'Library/Group Containers/UBF8T346G9.Office/User Content.localized/myFile.txt'"