获取Windows命令以通过system / shell.exec运行

泰勒·林克

经常使用Windows命令tree来打印出文件内容的树状图。我想将其添加到R中的工作流程中,但是无法使命令运行,system或者shell.exec无法弄清楚原因。这是一个可重现的示例,其中包含4种方法和shQuotesystemandshell.exec命令中使用(有和没有)的错误消息当我使用时cat,可以将命令粘贴到Windows命令行手册中(不使用R),并生成树形图。我无法在R中运行该程序,我做错了什么?

## build some mock files and directories with lapply
lapply(file.path("TEMP", c("", "X", "Y")), dir.create)
lapply(file.path("TEMP", paste0(c("A", "B"), ".txt")), file.create)

## create path to external file
out <- file.path(getwd(), "TREE.txt")

## create the tree command
cmd <- paste("tree", shQuote(file.path(getwd(), "TEMP")), "/f /a >", shQuote(out))
cat(cmd)  ## view it

system(cmd)  ## attempt 1

cmd <- paste("tree", shQuote(file.path(getwd(), "TEMP")), "/f /a >", shQuote(out))
shell.exec(cmd)  ## attempt 2

cmd2 <- paste("tree", file.path(getwd(), "TEMP"), "/f /a >", out)
system(cmd2)  ## attempt 3
shell.exec(cmd2)  ## attempt 4

cat(cmd, file="clipboard")


## > out <- file.path(getwd(), "TREE.txt")
## > cmd <- paste("tree", shQuote(file.path(getwd(), "TEMP")), "/f /a >", shQuote(out))
## > cat(cmd)
## tree "C:/Users/trinker/Desktop/TEMP" /f /a > "C:/Users/trinker/Desktop/TREE.txt"> 
## > system(cmd)
## Too many parameters - >
## > 
## > cmd <- paste("tree", shQuote(file.path(getwd(), "TEMP")), "/f /a >", shQuote(out))
## > shell.exec(cmd)
## Error in shell.exec(cmd) : 
##   'tree "C:/Users/trinker/Desktop/TEMP" /f /a > "C:/Users/trinker/Desktop/TREE.txt"' not found
## > 
## > 
## > cmd2 <- paste("tree", file.path(getwd(), "TEMP"), "/f /a >", out)
## > system(cmd2)
## Too many parameters - >
## > shell.exec(cmd2)
## Error in shell.exec(cmd2) : 
##   'tree C:/Users/trinker/Desktop/TEMP /f /a > C:/Users/trinker/Desktop/TREE.txt' not found
汤玛士

使用shell在Windows上,system不使用外壳程序(它仅运行系统命令)。您正在尝试使用管道重定向输出,因此遇到了以下问题? system

command必须是可执行文件(扩展名“ .exe”,“。com”)或批处理文件(扩展名“ .cmd”和“ .bat”):如果未提供扩展名,则依次尝试使用这些扩展名。)这表示重定向,管道,DOS内部命令,...无法使用:查看shell是否要传递shell命令行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

编写Shell-使用system()或exec()运行命令?

来自分类Dev

php-使用shell_exec运行shell命令

来自分类Dev

npm安装无法通过php system()运行(exec / shell_exec)

来自分类Dev

在同一shell golang中运行多个Exec命令

来自分类Dev

ant目标exec失败,而在shell上运行命令成功

来自分类Dev

在PHP中从shell_exec运行sed命令

来自分类Dev

为什么某些Linux Shell脚本使用exec运行命令?

来自分类Dev

从 PHP exec 运行命令显示与从 shell 不同的结果

来自分类Dev

在后台运行shell_exec()并随后获取其输出

来自分类Dev

通过shell脚本运行hbase shell命令

来自分类Dev

通过php shell_exec的Docker命令

来自分类Dev

Mac OSX cmd从命令行运行,从php shell_exec()失败

来自分类Dev

在bash脚本中使用shell字符串和参数运行docker exec命令

来自分类Dev

我可以从命令行运行 curl 但不能从 shell exec 调用

来自分类Dev

是否可以检查在 exec 中运行的 shell 命令中是否存在文件夹?

来自分类Dev

shell_exec响应命令

来自分类Dev

运行通过ssh嵌套引号的shell命令

来自分类Dev

运行通过ssh嵌套引号的shell命令

来自分类Dev

从Gulp运行Shell命令

来自分类Dev

SBCL运行Shell命令

来自分类Dev

Shell运行hadoop命令

来自分类Dev

打印shell运行的命令

来自分类Dev

Shell运行hadoop命令

来自分类Dev

从php shell_exec()运行node js

来自分类Dev

通过Fabric运行要运行后台运行命令的shell脚本

来自分类Dev

无法通过PHP中的shell_exec()函数运行wkhtmltopdf逗号,但在命令行上可以使用相同的命令

来自分类Dev

无法通过 Runtime.exec 运行命令

来自分类Dev

使用标准输入和标准输出使用 shell_exec 或 exec 其他任何东西从命令行运行 python 文件并传递输入

来自分类Dev

通过“ mvn exec:exec”运行类文件

Related 相关文章

  1. 1

    编写Shell-使用system()或exec()运行命令?

  2. 2

    php-使用shell_exec运行shell命令

  3. 3

    npm安装无法通过php system()运行(exec / shell_exec)

  4. 4

    在同一shell golang中运行多个Exec命令

  5. 5

    ant目标exec失败,而在shell上运行命令成功

  6. 6

    在PHP中从shell_exec运行sed命令

  7. 7

    为什么某些Linux Shell脚本使用exec运行命令?

  8. 8

    从 PHP exec 运行命令显示与从 shell 不同的结果

  9. 9

    在后台运行shell_exec()并随后获取其输出

  10. 10

    通过shell脚本运行hbase shell命令

  11. 11

    通过php shell_exec的Docker命令

  12. 12

    Mac OSX cmd从命令行运行,从php shell_exec()失败

  13. 13

    在bash脚本中使用shell字符串和参数运行docker exec命令

  14. 14

    我可以从命令行运行 curl 但不能从 shell exec 调用

  15. 15

    是否可以检查在 exec 中运行的 shell 命令中是否存在文件夹?

  16. 16

    shell_exec响应命令

  17. 17

    运行通过ssh嵌套引号的shell命令

  18. 18

    运行通过ssh嵌套引号的shell命令

  19. 19

    从Gulp运行Shell命令

  20. 20

    SBCL运行Shell命令

  21. 21

    Shell运行hadoop命令

  22. 22

    打印shell运行的命令

  23. 23

    Shell运行hadoop命令

  24. 24

    从php shell_exec()运行node js

  25. 25

    通过Fabric运行要运行后台运行命令的shell脚本

  26. 26

    无法通过PHP中的shell_exec()函数运行wkhtmltopdf逗号,但在命令行上可以使用相同的命令

  27. 27

    无法通过 Runtime.exec 运行命令

  28. 28

    使用标准输入和标准输出使用 shell_exec 或 exec 其他任何东西从命令行运行 python 文件并传递输入

  29. 29

    通过“ mvn exec:exec”运行类文件

热门标签

归档