在R中通过命令行将带密码的Zip压缩包文件直接解压到指定文件夹的方法
在R中通过命令行将带密码的Zip压缩包文件直接解压到指定文件夹的方法
嗨,这个问题其实很好解决——unzip命令本身就自带了指定输出目录的参数,你之前没用到而已!
你只需要在unzip命令里加上-d参数,后面跟上你想要的目标文件夹路径就行。这样解压出来的文件就会直接放到指定目录,不用再手动移动或者切换工作目录啦。
修改你的代码很简单,直接把目标路径通过-d参数加进去就好,另外为了避免路径或密码里有特殊字符(比如空格、特殊符号),最好把密码、压缩包路径和目标路径都用shQuote()包起来,这样更稳妥。
下面是修改后的完整代码:
password <- "abc" # 定义目标解压目录 target_folder <- "D:/test/" system(command = paste0("unzip -o -P ", shQuote(password), " ", shQuote("C:/Users/User/testfile.zip"), " -d ", shQuote(target_folder)), wait = TRUE)
简单解释下关键参数:
-o:覆盖已经存在的文件,避免解压时弹出确认提示-P:指定压缩包的密码-d:后面跟着的就是你要把文件解压到的目标目录
另外补充个小细节:如果D:/test/这个文件夹还不存在,unzip命令会自动帮你创建它,不用提前手动创建目录哦。
备注:内容来源于stack exchange,提问作者deschen
相关产品推荐
相关产品推荐

