我想使用相对文件路径作为命令行参数,但是如下面的示例和评估所示,该变量将\..\
作为字符串传递,但不对其进行求值。
我可以强制命令行将变量解析并扩展为字符串吗?
: For example: I have a R script file I want to launch from the command line:
Set RPath=C:\Program Files\R\R-3.1.0\bin\Rscript.exe
SET RScript=%CD%\..\..\HCF_v9.R
SET SourceFile=%CD%\..\Source\
ECHO String used for Source Location - %SourceFile%
"%RPath%" "%RScript%" %SourceFile%
包含
\..\
可以作为外部程序在R的调用中使用,因为批处理文件可以解析它自己的命令。但是,SourceFile变量不起作用,因为SourceFile变量尚未扩展
\..\
,它只是将其包含在字符串中,并且R无法处理\..\
最佳答案
您可以使用for
可替换参数解析为真实路径
for %%a in ("..\..\HCF_v9.R") do set "RScript=%%~fa"