我有一个拉链文件夹没有压缩的动作,所以我使用了AppleScript。 但是,我的原始脚本行使用“用户”文件夹中的完整路径创建存档:
do shell script "zip -r0 " & zipFile & " " & itemPath
我试图让 cd 工作,但没有成功:
基本上,我想要zip文件夹:
与源文件夹命名相同,在源文件夹所在的目录中创建,文件夹结构完整存档,使用源文件夹作为根目录的相对路径,最后,没有压缩
这是完整的脚本:
on run {input, parameters}
set folderName to (input as text)
tell application "Finder"
set theItem to folderName as alias
set itemPath to quoted form of POSIX path of theItem
set fileName to name of theItem
set theFolder to POSIX path of (container of theItem as alias)
set zipFile to quoted form of (theFolder & fileName & ".zip")
do shell script "cd " & theFolder / "zip -r0 " & zipFile & " " & itemPath
end tell
return input
end run
非常感谢任何帮助。
[R
答案 0 :(得分:1)
尝试使用像这样的Run Shell Script操作:
for f;do cd "${f%/*}";zip "${f##*/}.zip" -x .DS_Store -r0 "${f##*/}";done
${f%/*}
从/*
的末尾删除最短的f
模式,${f##*/}
从*/
的开头删除最长的f
模式