gpt4 book ai didi

r - 不包含父目录的 zip 文件

转载 作者:行者123 更新时间:2023-12-05 00:59:52 29 4
gpt4 key购买 nike

当我运行它时

zip('C:\\path\\to\\dir\\out'
, files = paste0('C:\\path\\to\\dir\\', c('one.xlsx', 'two.xlsx')))

它压缩文件,但解压缩它们会得到一个包含“路径”文件夹的文件夹,其中包含“到”文件夹等(完整目录路径)。所以解压后,文件现在在C:\\path\\to\\dir\\out\\path\\to\\dir\\

如何压缩文件而不生成包含所有父目录的 zip 文件?

我使用的是 Windows 10

platform       x86_64-w64-mingw32          
arch x86_64
os mingw32
system x86_64, mingw32
status
major 3
minor 4.2
year 2017
month 09
day 28
svn rev 73368
language R
version.string R version 3.4.2 (2017-09-28)
nickname Short Summer

最佳答案

根据documentation ,R zip 函数使用 R_ZIPCMD,它在 etc/Rcmd_environ 中设置。这默认设置为命令行 zip windows 实用程序。 R 函数提供输入参数 flags 以将其他输入参数传递给底层命令行 zip 函数。描述的手册旗帜可以下载here .

-j 标志只允许存储文件名而不是完整的文件路径。

f_path <- 'C:\\path\\to\\dir\\out'
zip(f_path,
files = paste0(f_path, c('one.xlsx', 'two.xlsx')),
flags = '-r9Xj')

标志输入的 -r9X 部分是传递给底层实用程序函数的默认参数,并指定 zip 命令应递归搜索子目录、使用最大压缩并删除折旧文件字段。

这仅使用 windows zip 实用程序进行了测试。使用 unix 实用程序时,必要的标志可能会有所不同。

关于r - 不包含父目录的 zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51844607/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com