寻找R system2('powershell',args = readClipboard())返回127

时间:2019-07-15 18:10:11

标签: r powershell rstudio system2

我有一个尴尬的问题,当通过system2(command = 'powershell', args = someStringVariable)在R中执行特定的powershell命令(调用〜/ WindowsPowerShell / Modules /中的powershell模块)时,它只会返回“ 127”。

其他-更简单-模块的调用设​​法产生结果。但是,一旦三个参数之一(即[MDX]查询变得有点复杂)或达到一定的长度/大小,它就会立即返回“ 127”。

尽管,真正的错误似乎是简单查询和复杂查询都可以分别通过复制/粘贴readClipboard()writeClipboard()(分别用于复制和粘贴)移回和移至普通Powershell ISE窗口。后者的R函数避免了STRG + C和/或STRG + V来移动更简单的模块调用参数,这些参数在R中可以正常工作(从R到powershell相同),并且将产生正确的结果(即写入结果文件)。

所以我的问题是:

  1. 有人在使用system2和powershell时遇到过类似的行为
  2. 我不知道关于system2中args长度的任何限制吗?
  3. 这可能是版本问题(在powershell和R之间)

操作系统:WINDOWS 10 Enterprise 1803

其他系统信息: Powershell版本: $ PSVersionTable.PSVersion = 5.1.17134(Rev 765)

R.version:

platform       i386-w64-mingw32            
arch           i386                        
os             mingw32                     
system         i386, 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

希望有人可以分享有用的经验……

在另一台计算机上运行相同功能时,情况变得更加奇怪,其中唯一值得注意的区别是某些软件包版本,所有内容都像一个魅力。

以下是librarz不同版本的列表。但是,我永远都不会期望库的版本差异会对system2产生任何影响,因为这是基本软件包的一部分。 Version.x是机器上的pkg版本,Version.y是机器上的版本,system2可以正常运行,此处未显示相同的版本。

        Package Version.x   Version.y identical
6    assertthat     0.2.1       0.2.0     FALSE
7     backports     1.1.4       1.1.1     FALSE
13           BH  1.69.0-1    1.65.0-1     FALSE
16         boot    1.3-22      1.3-20     FALSE
20      caTools  1.17.1.1      1.17.1     FALSE
27    codetools    0.2-16      0.2-15     FALSE
28   colorspace     1.4-1       1.3-2     FALSE
36   data.table    1.12.2    1.10.4-3     FALSE
38          DBI     1.0.0         0.7     FALSE
42       digest    0.6.18      0.6.12     FALSE
47        dplyr     0.8.3       0.7.4     FALSE
51     evaluate      0.14      0.10.1     FALSE
63     forecast       8.7         8.2     FALSE
64      foreign    0.8-71      0.8-69     FALSE
65      formatR       1.6         1.5     FALSE
66      Formula     1.2-3       1.2-2     FALSE
70      ggplot2     3.2.0       2.2.1     FALSE
81       gtable     0.3.0       0.2.0     FALSE
83        highr       0.8         0.6     FALSE
90         httr     1.4.0       1.3.1     FALSE
91         httr     1.4.0       1.3.1     FALSE
93     jsonlite       1.6         1.5     FALSE
95        knitr      1.23        1.17     FALSE
98      lattice   0.20-38     0.20-35     FALSE
100    lazyeval     0.2.2       0.2.1     FALSE
102        lme4    1.1-21      1.1-14     FALSE
103      lmtest    0.9-37      0.9-35     FALSE
106    markdown       1.0         0.8     FALSE
107        MASS  7.3-51.4      7.3-47     FALSE
114        mgcv    1.8-28      1.8-20     FALSE
115        mime       0.7         0.5     FALSE
122     munsell     0.5.0       0.4.3     FALSE
124        nlme   3.1-140     3.1-131     FALSE
128     openssl       1.3       0.9.9     FALSE
135       plogr     0.2.0       0.1-1     FALSE
142    quadprog     1.5-7       1.5-5     FALSE
143    quantreg      5.41        5.34     FALSE
147          R6     2.4.0       2.2.2     FALSE
151        Rcpp     1.0.1     0.12.14     FALSE
160    reshape2     1.4.3       1.4.2     FALSE
162       rlang     0.4.0 0.3.99.9003     FALSE
169  rstudioapi      0.10         0.7     FALSE
171    sandwich     2.5-1       2.4-0     FALSE
172      scales     1.0.0       0.5.0     FALSE
175       shiny     1.3.2       1.0.5     FALSE
177 sourcetools     0.1.7       0.1.6     FALSE
188     stringi     1.4.3       1.1.6     FALSE
189     stringr     1.4.0       1.2.0     FALSE
199      tibble     2.1.3       1.3.4     FALSE
200    timeDate  3043.102    3042.101     FALSE
206     tseries   0.10-47     0.10-42     FALSE
207         TTR    0.23-4      0.23-2     FALSE
213 viridisLite     0.3.0       0.2.0     FALSE
215       withr     2.1.2       2.1.0     FALSE
216         XML 3.98-1.19    3.98-1.9     FALSE
218      xtable     1.8-4       1.8-2     FALSE
219         xts    0.11-2      0.10-0     FALSE
220        yaml     2.2.0      2.1.14     FALSE
221         zoo     1.8-6       1.8-0     FALSE

我已经得出结论,这是一个RStudio错误-例如此命令的另一个奇怪功能,当在终端中启动R而不是在RStudios控制台中启动该命令时,它将在RStudios终端中运行。

system2("powershell", args = "Con-XLCube 'Data source=https://someCubeServer/connection/string.dll;Provider=MSOLAP;Initial Catalog=Database;' 'Select Non Empty {[Measures].[Amount]} On Columns, Non Empty  (  AddCalculatedMembers ( {[Account].[Account Type].[Account Type].Members} )  *  (  ( { [Account].[SAP Account Number].&[1730001202],[Account].[SAP Account Number].&[4917324009],[Account].[SAP Account Number].&[4917325006],[Account].[SAP Account Number].&[4917399001],[Account].[SAP Account Number].&[5977300003],[Account].[SAP Account Number].&[4977300006]} *  (  AddCalculatedMembers ( {[Account].[SAP Description Long].[SAP Description Long].Members} )  *  (  AddCalculatedMembers ( {[Folder].[Folders Short Name].[Folders Short Name].Members} )  *  (  AddCalculatedMembers ( {[Counterparty].[Full Name].[Full Name].Members} )  *  (  AddCalculatedMembers ( {[Account].[Legal Entity Partner Code].[Legal Entity Partner Code].Members} )  *  (  AddCalculatedMembers ( {[Trade].[Bundle Id].[Bundle Id].Members} )  *  (  AddCalculatedMembers ( {[Trade].[EMIR One Confirmation].[EMIR One Confirmation].Members} )  *  (  AddCalculatedMembers ( {[Trade].[Internal Reference].[Internal Reference].Members} )  *  (  AddCalculatedMembers ( {[Trade].[Trade Id].[Trade Id].Members} )  *  (  AddCalculatedMembers ( {[Product].[Product Type].[Product Type].Members} )  *  (  AddCalculatedMembers ( {[Product].[EG Product Type].[EG Product Type].Members} )  *  (  AddCalculatedMembers ( {[Product].[Product Currency].[Product Currency].Members} )  *  (  AddCalculatedMembers ( {[Product].[Product Currency2].[Product Currency2].Members} )  *  ( Except (  AddCalculatedMembers ( {[Accounting Event].[Accounting Event Type].[Accounting Event Type].Members} )  , {[Accounting Event].[Accounting Event Type].&[CLOSING]} )  *  AddCalculatedMembers ( {[Currency].[Currency].[Currency].Members} )  )  )  )  )  )  )  )  )  )  )  )  )  )  )  )  )  On Rows From [Postings] Where ([Processing Org].[Mandant].&[104],[Account].[Standard].&[IFRS],[Booking Date].[Booking Day].&[20190628],[Currency Translation Date].[Day].&[20190628],[Cumulation Type].[Cumulation Type].&[1],[Posting Status].[Posting Status].&[SENT]) Cell Properties VALUE' 'C:\\Users\\USERID\\AppData\\Local\\Temp\\RtmpY9VjYM\\Test.csv'") 

我还注意到,当命令在RStudio终端窗口中运行时,powershell消息“正在搜索可用模块”闪烁(以某种方式在其内部/两端)。这可能会干扰RStudio控制台,但不会干扰RGui和Terminal R吗? 如果是这样,为什么它不会干扰另一台机器(“ y”)?我缺少某些Powershell设置,或者忘记在机器“ x”上设置或设置错误吗?

0 个答案:

没有答案