2011-10-06 107 views
1

我创建了一个AppleScript,它将选定源文件夹的时间戳.zip存档创建到目标文件夹中。这一切都很好。Shell脚本.zip压缩文件夹保留文件夹结构(Mac OS X)

我注意到,创建的.zip存档文件具有选定源文件夹的完整路径。例如,如果我选择的文件夹:

/库/ Web服务器/文件/客户/网站/

.zip压缩包中也将有每个文件夹的时候我只是想“网站”文件夹及其内容。我查看了zip命令的选项,但无法获得正确的组合。如果我使用“-jr”我只是得到“站点”文件夹,但我然后松开所有的子文件夹,因为它将所有子文件夹中的所有文件放到同一个文件夹中。

这里是AppleScript的相关部分:

set shellscript to ("/usr/bin/zip -r " & zipFolder & " " & sourceFolder) 
do shell script shellscript 

我本质上是相同的结果之后,如果你是右/控制单击文件夹,选择“压缩‘文件夹名’选项”。我正在使用Mac OS X 10.6.8。

谢谢你,史蒂夫

回答

0

随着zip,路径是默认相对的。但是在你的AppleScript中,无论是否打算,从根目录运行shell脚本。因此,由于您从根目录给出sourceFolder的完整路径,因此您将获得zip归档文件中的绝对路径。

通过首先更改为包含站点文件夹的文件夹,然后使用相对路径进行压缩来解决此问题。

相关问题