首页 > 解决方案 > 执行 R 中 CAT 语句中的语句

问题描述

我正在尝试将位于“Zipfile_in”中的 7z 文件解压缩到输出文件夹“Zipfile_out”。

zip_7 = "C:/Program Files/7-Zip/7z.exe"
zipfile_in = "C:/Data/Data Ectract/Report/2014.7z"
zipfile_out = "C:/Data Ectract/Report"

要提取的实际系统语句如下。

system('"C:/Program Files/7-Zip/7z.exe" x "C:/Data/Data Ectract/Report/2014.7z" -o"C:/Data Ectract/Report"',show.output.on.console = F)

为了得到上面的语句,我试图用下面的 R 语句构造和执行

concat = paste0("system('",dQuote(l)," x"," ",dQuote(k)," -o",dQuote(j),"'",",show.output.on.console = F",")")

当我运行以下语句时,我无法执行该语句

cat(concat)

执行所需的任何附加语句/修改,即 7Z 文件应解压缩并存储在 out 文件夹cat(concat) ststement 中。

标签: r

解决方案


要调用系统命令,推荐的指令是system2.
将参数放入字符向量中并调用系统命令,如下所示。

zip_7 <- "C:/Program Files/7-Zip/7z.exe"
zipfile_in <- "C:/Data/Data Ectract/Report/2014.7z"
zipfile_out <- "C:/Data Ectract/Report"

args <- c("x", zipfile_in, "-o", zipfile_out)
system2(zip_7, args)

推荐阅读