假设我要压缩这个目录〔c:/ Users/xah/ErgoEmacs_Source/ergoemacs/build-util /〕
我希望输出目录是〔c:/ Users/xah/xx2 /〕
(我现在的目录可能在任何地方.我在elisp程序中调用zip)所以我这样做
zip -r c:/Users/xah/xx2/build-util.zip c:/Users/xah/ErgoEmacs_Source/ergoemacs/build-util/
Run Code Online (Sandbox Code Playgroud)
然后zip将记录这样的完整路径
adding: Users/xah/ErgoEmacs_Source/ergoemacs/build-util/ (stored 0%)
adding: Users/xah/ErgoEmacs_Source/ergoemacs/build-util/.svn/ (stored 0%)
adding: Users/xah/ErgoEmacs_Source/ergoemacs/build-util/.svn/all-wcprops (deflated 56%)
...
Run Code Online (Sandbox Code Playgroud)
我希望路径只是以build-util开头.
注意:我在一个程序(elisp)中调用zip,我不能或不想使用任何envirenment变量的概念.
这有可能与一些zip参数?
奇怪的是,您最好的选择可能是使用 Java JDK 中的 jar。
jar -cMf c:/Users/xah/xx2/build-util.zip -C c:/Users/xah/ErgoEmacs_Source/ergoemacs/build-util/ .
“-M”告诉 jar 不要创建清单文件,-C 告诉它在开始压缩文件之前更改目录。我基于此的文档位于: http: //download.oracle.com/javase/tutorial/deployment/jar/build.html