Powershell文件路径,包含空间,多个驱动器

时间:2017-09-02 23:12:27

标签: powershell filepath

我试图使用调用运算符(&)运行R脚本,由于某种原因我无法指向D:\驱动器上的正确路径,但它在C:\ drive(将R文件夹从D:\复制到C:\进行测试)。

https://i.stack.imgur.com/su8oc.jpg

即使字符串/变量周围有引号,D:\驱动器错误也会出现空格错误。

"程序"之间的双倍间距和"文件",调用命令正确读取。

https://i.stack.imgur.com/bLinf.jpg

理想情况下,我想在D:\驱动器上调用Rscript.exe,但我不知道为什么它会给我一个错误 - 特别是当C:\驱动器工作正常并且加倍时间距读得正确。

另外值得注意的是" D:\ Program Files(x86)"也没有正确阅读,症状相似。

更新:正在运行

    gci -r d:\ -include rscript.exe | % fullname

返回:

D:\ Program Files \ R \ R-3.2.3 \ bin \ i386 \ Rscript.exe

D:\ Program Files \ R \ R-3.2.3 \ bin \ x64 \ Rscript.exe

D:\ Program Files \ R \ R-3.2.3 \ bin \ Rscript.exe

最后一个是我的变量$ RscriptD设置为。

1 个答案:

答案 0 :(得分:0)

图片中的第一条错误消息是:

  

Rscript.exe:术语“D:\ Program”未被识别为内部或外部命令

此消息表示调用运算符(&)调用Rscript.exe但Rscript.exe无法通过使用“D:\ Program”执行某些操作。

我不完全知道Rscript.exe内部进程的详细信息,但是,我认为Rscript.exe试图运行D:\Program Files\R\R-3.2.3\bin\i386\Rscript.exeD:\Program Files\R\R-3.2.3\bin\x64\Rscript.exe但无法处理{{1}的空白}}。因为manual说:

  

子结构也用于Windows,但通过在相应的bin目录中选择可执行文件, R_HOME / bin / i386 R_HOME / bin / x64 为了向后兼容,有可执行文件R_HOME / bin / R.exe和 R_HOME / bin / Rscript.exe :这些将从其中一个子目录运行可执行文件< / strong>,哪一个首先从R_ARCH环境变量获取,然后从-arch命令行选项获取,最后从安装默认值(对于32/64位R组合安装为32位)。

根据这个,我认为最好直接调用i386 / Rscript.exe或x64 / Rscript.exe而不是bin / Rscript.exe,这只是为了向后兼容。