例如,此PowerShell命令返回目录中的前5个最大文件:
gci -r |sort Length -desc |select fullname -f 5
Run Code Online (Sandbox Code Playgroud)
是否可以在R中运行并将其赋给变量?
我尝试了这个:
system("gci -r|sort Length -desc|select fullname -f 5")
Warning message:
running command 'gci -r|sort Length -desc|select fullname -f 5' had status 127
Run Code Online (Sandbox Code Playgroud)
我不应该system()在这里使用吗?
您可能需要按以下方式运行它(假设PowerShell在您的路径中):
system("powershell -command \"gci -r|sort Length -desc|select fullname -f 5\"")
Run Code Online (Sandbox Code Playgroud)
或者,如果你不热衷于逃避"用\"。
system('powershell -command "gci -r|sort Length -desc|select fullname -f 5"')
Run Code Online (Sandbox Code Playgroud)
我还假设这就是R逸出和在字符串中嵌入引号的方式(来自我关于R中字符串处理的粗略搜索)。
如果希望将输出捕获到变量(特别是字符向量),则需要使用intern = TRUE参数:
res <- system('powershell -command "gci -r|sort Length -desc|select fullname -f 5"', intern=TRUE)
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参见:
http://stat.ethz.ch/R-manual/R-patched/library/base/html/system.html
特别是:
如果为
intern = TRUE,则字符向量给出命令的输出,每个字符串一行。
和
如果为
intern = FALSE,则返回值为错误代码(成功则为0),
| 归档时间: |
|
| 查看次数: |
3012 次 |
| 最近记录: |