我正在尝试运行一个.bat文件,当我双击它(Windows操作系统)时运行完美,但是当我尝试在R中运行它时失败
com <- "C:\\SASLocal\\RUN3614\\56a8c11b-84b2-4af7-a155-01190936b1c1\\M1_superGOtest.bat"
system(com)
我收到了had status 2
仅仅是一个FYI,这会触发一个SAS程序,我需要在SAS中运行,因为它用于SAS和R之间的比较。
答案 0 :(得分:1)
在Windows中,要从命令行运行批处理文件,您需要调用命令行解释器,命令提示符或PowerShell,将批处理文件作为参数传递。
.bat脚本本身就像一个.R脚本,在可执行文件运行之前不会执行任何操作(即 Rscript.exe,R.exe,Rcmd.exe,Rterm.exe )在这种情况下, cmd.exe 和 powershell.exe :
# COMMAND PROMPT
system('cmd /c "C:\\SASLocal\\RUN3614\\56a8c11b-84b2-4af7-a155-01190936b1c1\\M1_superGOtest.bat"')
# POWERSHELL
system('powershell -c & "\'C:\\SASLocal\\RUN3614\\56a8c11b-84b2-4af7-a155-01190936b1c1\\M1_superGOtest.bat\'"')