首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >groovy压缩包含正在使用的文件的目录

groovy压缩包含正在使用的文件的目录
EN

Stack Overflow用户
提问于 2009-07-28 02:43:51
回答 3查看 2.8K关注 0票数 2

我正在尝试在groovy程序中压缩整个目录。我已经使用了内置的ant目标来压缩目录,通常这是有效的,除了有时2-3个文件正在使用中,我并不关心,但邮政编码实际上因为这个而中止-有什么想法如何解决这个问题吗?

谢谢!

代码:

代码语言:javascript
复制
def ant = new AntBuilder() 
ant.zip(
    destfile: "C:/temp.zip", 
    basedir: "c:/Temp/"
) 
EN

回答 3

Stack Overflow用户

发布于 2009-07-28 11:14:18

因此,我目前使用的解决方案是忽略正在使用的文件,因为它们总是相同的…我将它们放在一个exclude子句中,如下所示:

代码语言:javascript
复制
def ant = new AntBuilder() 
ant.zip(
    destfile: "C:/Temp.zip", 
    basedir: "c:/Temp",
    level: 9,
    excludes: "**/file1.dat, **/file2.dat, **/file3.dat"
)

我仍然对更好的解决方案持开放态度!

票数 1
EN

Stack Overflow用户

发布于 2009-07-30 22:39:59

我不熟悉Groovy或AntBuilder,但我相信您可以使用VShadow程序创建目录的卷影副本,并从那里执行备份。

创建驱动器C:的卷影副本:

vshadow -p C:

将卷影副本装载为新的驱动器号:

vshadow -el=ShadowCopyId,Z:

驱动器Z:将是C:的副本,C:将允许您打开这些文件。

完成后,删除卷影副本:

vshadow -ds=ShadowCopyId

票数 1
EN

Stack Overflow用户

发布于 2009-07-28 11:26:36

没有“更好”的解决方案,因为主要问题似乎是你正在使用你的应用程序(Firefox),同时压缩它的工作文件。

你可以实现你自己的压缩机制,使用ZipOutputStream等等,但是只要你不关闭火狐或者在压缩它们之前定期检查所有的文件都是解锁的,你就会遇到同样的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1191694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档