我想打开一个C:\Program Files\R\R-3.2.0\bin\Rscript.exe。为此,我尝试更改目录。我认为错误是在打开程序文件时发生的。以下是代码
cd Program Files\R\R-3.2.0\bin Error: A positional parameter cannot be found that accepts argument Files
93ze6v8z1#
与command.com/cmd.exe不同,PowerShell遵循的规则更加一致,在失败的情况下,Program和Files\R..bin被解析为两个 * 单独的 * 参数,其中第二个在上下文中无效(因为cd只接受 * 单个 * 非命名参数)。要修复此use quotes,例如
Program
Files\R..bin
cd
cd "C:\Program Files"
带引号的字符串被解析为一个字符串值,该字符串值作为一个 single 参数提供(字符串本身不包括引号,这也与cmd.exe规则不同)。FWIW,cd是Set-Location的别名。运行get-help cd以获取有关如何使用它的详细信息-包括它 * 支持 * 哪些可选(和命名)参数。
get-help cd
bihw5rsg2#
如果路径中包含空格,则需要将其放在引号中:
cd 'C:\Program Files\R\R-3.2.0\bin'
单引号或双引号都可以。
2条答案
按热度按时间93ze6v8z1#
与command.com/cmd.exe不同,PowerShell遵循的规则更加一致,在失败的情况下,
Program
和Files\R..bin
被解析为两个 * 单独的 * 参数,其中第二个在上下文中无效(因为cd
只接受 * 单个 * 非命名参数)。要修复此use quotes,例如
带引号的字符串被解析为一个字符串值,该字符串值作为一个 single 参数提供(字符串本身不包括引号,这也与cmd.exe规则不同)。
FWIW,
cd
是Set-Location的别名。运行get-help cd
以获取有关如何使用它的详细信息-包括它 * 支持 * 哪些可选(和命名)参数。bihw5rsg2#
如果路径中包含空格,则需要将其放在引号中:
单引号或双引号都可以。