当文件夹名称中有空格时,为什么终端不接受文件夹



在将项目添加到GitHub时,我创建了文件夹名称"gokce游戏";。当我试图将路径复制到m文件并导航到它时,我收到了一个错误,表明我无法导航到该文件。我不明白问题出在哪里,我的工作也不完整。

错误代码:

  • cd gokce游戏

  • Set Location:找不到接受参数"oyun"的位置参数。行:1字符:1CategoryInfo:InvalidArgument:(:([Set Location],ParameterBindingExceptionFullyQualifiedErrorId:PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetLocationCommand

    在此处输入图像描述

当路径中有空格时,必须将其引用。即cd "gokce game"cd 'gokce game'

原因是命令解析无法判断gokcegame是两个不同的东西还是只是一个东西。通过将目录名括在引号字符中,可以明显地看出存在单个字符串,而不是两个空格分隔的字符串。

错误消息可能有点难以理解,所以让我们详细了解它。在Powershell中,cd实际上是cmdletSet-Location的别名。该cmdlet需要有一个字符串参数,即要将当前目录更改为的目录。(它也支持注册表路径等位置,但这是另一回事。(现在,当cmdlet看到两个字符串参数gokcegame时,它不明白第二个是关于什么的。

Powershell通常足够聪明,可以处理多个参数,如果这些参数按正确的顺序传递,并且接收cmdlet支持这一点。一个典型的例子是Copy-Item,它将把参数1中指定的东西复制到参数2中。在cd的情况下,不期望得到第二个参数,因此出现错误。

有关报价规则和Set Location(又名cd。(的更多信息,请访问

最新更新