我想使用system()
命令从cmd
访问命令行(RStudio
)。但是当我将命令放在R脚本中时,会显示错误并指示R不接受语法。命令是:
system("C:\Program Files\ANSYS Inc\v150\ANSYS\bin\winx64\ansys150.exe" -p ane3fl -dir "C:\Users\hamdani\Documents" -j "hamid" -s read -l en-us -b -i "C:\Users\hamdani\Documents\Plane Stress Bracket.txt" -o "C:\Users\hamdani\Documents\fichier.out")
错误是:
Error: '\P' is an unrecognized escape in character string starting "'"C:\P"
当我将命令直接放在系统命令中时,它运行得很好:
"C:\Users\hamdani\Documents" -j "hamid" -s read -l en-us -b -i "C:\Users\hamdani\Documents\Plane Stress Bracket.txt" -o "C:\Users\hamdani\Documents\fichier.out"
答案 0 :(得分:0)
问题在于您必须为R输入字符串的方式。您的命令包括可执行文件和文件的路径,因此命令的一部分是:
system("C:\Program Files\ANSYS Inc\v150\ANSYS\bin\winx64\ansys150.exe" ...
但是R使用反斜杠\
来表示转义序列,专门使用\n
等字符来表示换行符。由于\
表示转义序列即将开始,如果你想要一个反斜杠字符,你必须转义转义,即在字符串中获得单个反斜杠字符的方法是键入\\
。您的命令包含许多反斜杠。您需要将所有这些加倍以获得此类错误。